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

Interactive ALV

Former Member
0 Likes
694

Hi Could you please send me the code for Interactive alv. It is a PGI report and the partially processed delivery docs need to be displayed, when we click on the partially processed delivery doc it neeeds to be completed. so please send me details abt interactive ALV and also some tips abt conversion of partially processed to completely processed.

Secondly please give me some details abt the

FM 'WS_DELIVERY_UPDATE'.

what are the mandatory fields to be passed.

points for sure..

regards,

Srini

5 REPLIES 5
Read only

abdul_hakim
Active Contributor
0 Likes
616

hi rao,

have a look at the below program for interactive list creation.

BCALV_GRID_03

Cheers,

Abdul Hakim

Mark all useful answers..

Read only

0 Likes
616

http://www.sap-img.com/abap/display-secondary-list-using-alv-grid.htm

FOR UR 2ND QUESTION ...

GO THROUGH THIS LINK...

DETAIL DICRIPTION....

Read only

Former Member
0 Likes
616

Srini,'

Look at this program in the system.

BALVSM11

Check this code also.


TABLES: ltak,
vekp,
vepo.

DATA: l_vbkok LIKE vbkok,
lt_verko LIKE verko OCCURS 0 WITH HEADER LINE,
lt_verpo LIKE verpo OCCURS 0 WITH HEADER LINE,
lt_et_created_hus LIKE vekpvb OCCURS 0 WITH HEADER LINE.

PARAMETERS: p_vbeln LIKE likp-vbeln MEMORY ID vl.

l_vbkok-vbtyp_vl = 'J'.
l_vbkok-vbeln = l_vbkok-vbeln_vl = p_vbeln.

SELECT * FROM vekp
WHERE vpobj EQ '01'
AND vpobjkey EQ p_vbeln.

IF vekp-exidv EQ '00000000001000000855' OR
vekp-exidv EQ '00000000001000000856' OR
vekp-exidv EQ '00000000001000000857'.
MOVE-CORRESPONDING vekp TO: lt_verko,
lt_et_created_hus.

APPEND: lt_verko,
lt_et_created_hus.
ENDIF.
ENDSELECT.

CALL FUNCTION 'WS_DELIVERY_UPDATE_2'
EXPORTING
vbkok_wa = l_vbkok
synchron = 'X'
* NO_MESSAGES_UPDATE_1 = ' '
COMMIT = 'X'
delivery = p_vbeln
* UPDATE_PICKING = ' '
* NICHT_SPERREN_1 = ' '
IF_CONFIRM_CENTRAL = 'X'
* IF_WMPP = ' '
* IF_GET_DELIVERY_BUFFERED = ' '
* IF_NO_GENERIC_SYSTEM_SERVICE = ' '
* IF_DATABASE_UPDATE_1 = '1'
* IF_NO_INIT_1 = ' '
* IF_NO_READ_1 = ' '
* IF_ERROR_MESSAGES_SEND = 'X'
* IF_NO_BUFFER_REFRESH = ' '
* IT_PARTNER_UPDATE =
* IT_SERNR_UPDATE =
* IF_NO_REMOTE_CHG_1 = ' '
* IF_NO_MES_UPD_PACK = ' '
* IMPORTING
* EF_ERROR_ANY =
* EF_ERROR_IN_ITEM_DELETION =
* EF_ERROR_IN_POD_UPDATE =
* EF_ERROR_IN_INTERFACE =
* EF_ERROR_IN_GOODS_ISSUE =
* EF_ERROR_IN_FINAL_CHECK =
* EF_ERROR_PARTNER_UPDATE =
* EF_ERROR_SERNR_UPDATE =
TABLES
* VBPOK_TAB =
* PROT =
verko_tab = lt_verko
* verpo_tab =
* VBSUPCON_TAB_1 =
* IT_VERPO_SERNR =
* IT_PACKING =
* IT_PACKING_SERNR =
* IT_REPACK =
* IT_HANDLING_UNITS_1 =
* IT_OBJECTS =
et_created_hus = lt_et_created_hus
* TVPOD_TAB =

Thanks,

Message was edited by: Naren Somen

Read only

Former Member
0 Likes
616

Hi Srini,

See the following Simple code for Interactive in ALV.

You just paste it in your program and run.

Hope it helps you.

REPORT ZSP_ALV_SIMPLE.

TYPE-POOLS : SLIS.

TABLES : MARA,

MAKT.

DATA: BEGIN OF FIRST_LIST OCCURS 0,

MATNR LIKE MARA-MATNR,

MTART LIKE MARA-MTART,

END OF FIRST_LIST.

DATA: WA_FIRST_LIST LIKE LINE OF FIRST_LIST.

  • Second list

DATA: BEGIN OF I_SECOND_LIST OCCURS 0,

MATNR LIKE MARA-MATNR,

MAKTX LIKE MAKT-MAKTX,

END OF I_SECOND_LIST.

  • For first list

DATA: GT_XEVENTS TYPE SLIS_T_EVENT,

XS_EVENT TYPE SLIS_ALV_EVENT,

YFIELD TYPE SLIS_T_FIELDCAT_ALV, "internal table

FIRST_FIELD TYPE SLIS_FIELDCAT_ALV. "work area

  • For second list

DATA: BFIELD TYPE SLIS_T_FIELDCAT_ALV,

XFIELD TYPE SLIS_FIELDCAT_ALV.

DATA: V_REPID LIKE SY-REPID.

PARAMETERS: P_MATNR LIKE MARA-MATNR. "Material Number

INITIALIZATION.

  • Report Name

V_REPID = SY-REPID.

START-OF-SELECTION.

PERFORM GET_DATA_FOR_FIRST_LIST.

PERFORM DISPLAY_FIRST_REPORT.

&----


*& Form GET_DATA_FOR_FIRST_LIST

&----


FORM GET_DATA_FOR_FIRST_LIST.

SELECT MATNR

MTART

INTO TABLE FIRST_LIST

FROM MARA

WHERE MATNR = P_MATNR.

IF SY-SUBRC <> 0.

  • MESSAGE

ENDIF.

ENDFORM. " GET_DATA_FOR_FIRST_LIST

&----


*& Form DISPLAY_FIRST_REPORT

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM DISPLAY_FIRST_REPORT.

PERFORM FIELD_CATALOG_FIRST_LIST.

PERFORM EVENTS_FIRST_LIST.

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

I_CALLBACK_USER_COMMAND = 'ITERACTIVE_USER_COMMAND'

  • I_STRUCTURE_NAME =

  • IS_LAYOUT =

IT_FIELDCAT = YFIELD

  • IT_EXCLUDING =

  • IT_SPECIAL_GROUPS =

  • IT_SORT =

  • IT_FILTER =

  • IS_SEL_HIDE =

  • I_DEFAULT = 'X'

  • I_SAVE = ' '

  • IS_VARIANT =

IT_EVENTS = GT_XEVENTS

  • 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

  • IMPORTING

  • E_EXIT_CAUSED_BY_CALLER =

  • ES_EXIT_CAUSED_BY_USER =

TABLES

T_OUTTAB = FIRST_LIST

  • 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. " DISPLAY_FIRST_REPORT

&----


*& Form FIELD_CATALOG_FIRST_LIST

&----


FORM FIELD_CATALOG_FIRST_LIST.

DATA: L_COUNT TYPE I.

CLEAR FIRST_FIELD.

L_COUNT = 0.

L_COUNT = L_COUNT + 1.

FIRST_FIELD-TABNAME = 'FIRST_LIST'.

FIRST_FIELD-COL_POS = L_COUNT.

FIRST_FIELD-FIELDNAME = 'MATNR'.

FIRST_FIELD-KEY_SEL = 'X'.

FIRST_FIELD-SELTEXT_L = 'Material Number'. " Change coloumn headers

FIRST_FIELD-HOTSPOT = 'X'.

APPEND FIRST_FIELD TO YFIELD.

L_COUNT = L_COUNT + 1.

FIRST_FIELD-TABNAME = 'FIRST_LIST'.

FIRST_FIELD-COL_POS = L_COUNT.

FIRST_FIELD-FIELDNAME = 'MTART'.

FIRST_FIELD-KEY_SEL = 'X'.

FIRST_FIELD-SELTEXT_L = 'Materail Type'. " Change coloumn headers

FIRST_FIELD-HOTSPOT = 'X'.

FIRST_FIELD-EMPHASIZE = 'C51'.

APPEND FIRST_FIELD TO YFIELD.

ENDFORM. " FIELD_CATALOG_FIRST_LIST

&----


*& Form EVENTS_FIRST_LIST

&----


FORM EVENTS_FIRST_LIST.

XS_EVENT-NAME = SLIS_EV_TOP_OF_LIST.

XS_EVENT-FORM = 'XTOP_OF_LIST'.

APPEND XS_EVENT TO GT_XEVENTS.

ENDFORM. " EVENTS_FIRST_LIST

----


  • FORM XTOP_OF_LIST *

----


FORM XTOP_OF_LIST.

WRITE :/45 'MRK RAMESH CORPORATION LTD.' CENTERED.

ENDFORM.

----


  • FORM USER_COMMAND_S *

----


FORM ITERACTIVE_USER_COMMAND USING R_UCOMM LIKE SY-UCOMM

RS_FIELD TYPE SLIS_SELFIELD.

CASE R_UCOMM.

WHEN '&IC1'.

IF RS_FIELD-TABINDEX > 0 AND

RS_FIELD-SUMINDEX LE 0.

READ TABLE FIRST_LIST INTO WA_FIRST_LIST INDEX RS_FIELD-TABINDEX.

PERFORM SECOND_LIST.

ENDIF.

ENDCASE.

ENDFORM.

&----


*& Form SECOND_LIST

&----


FORM SECOND_LIST.

SELECT MATNR

MAKTX

INTO TABLE I_SECOND_LIST

FROM MAKT

WHERE MATNR = WA_FIRST_LIST-MATNR.

IF SY-SUBRC <> 0.

  • MESSAGE

ENDIF.

PERFORM FIELD_CATALOG_SECOND_LIST.

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

  • I_CALLBACK_USER_COMMAND = ' '

  • I_STRUCTURE_NAME =

  • IS_LAYOUT =

IT_FIELDCAT = BFIELD

  • 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

  • IMPORTING

  • E_EXIT_CAUSED_BY_CALLER =

  • ES_EXIT_CAUSED_BY_USER =

TABLES

T_OUTTAB = I_SECOND_LIST

  • 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. " SECOND_LIST

&----


*& Form FIELD_CATALOG_SECOND_LIST

&----


FORM FIELD_CATALOG_SECOND_LIST.

XFIELD-FIELDNAME = 'MATNR'.

XFIELD-SELTEXT_L = 'Material Number'. " Change coloumn headers

XFIELD-OUTPUTLEN = 18.

APPEND XFIELD TO BFIELD.

XFIELD-FIELDNAME = 'MAKTX'.

XFIELD-SELTEXT_L = 'Material Description'. " Change coloumn headers

XFIELD-OUTPUTLEN = 40.

APPEND XFIELD TO BFIELD.

ENDFORM. " FIELD_CATALOG_SECOND_LIST

- Selvapandian Arunachalam

Read only

Former Member
0 Likes
616

Hi,

Below threads consist of number of <b>interactive ALV codes</b>:

<b>Reward if helpful</b>

Rgds,