‎2006 Jun 22 5:47 AM
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
‎2006 Jun 22 5:49 AM
hi rao,
have a look at the below program for interactive list creation.
BCALV_GRID_03
Cheers,
Abdul Hakim
Mark all useful answers..
‎2006 Jun 22 5:50 AM
http://www.sap-img.com/abap/display-secondary-list-using-alv-grid.htm
FOR UR 2ND QUESTION ...
GO THROUGH THIS LINK...
DETAIL DICRIPTION....
‎2006 Jun 22 5:52 AM
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
‎2006 Jun 22 6:01 AM
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
‎2006 Jun 22 6:09 AM