‎2007 Jun 06 8:25 AM
My ALV Report Displays Data of Vendor Master
The user needs a functionality. : When Vendor Number on Alv Report is double clicked MK03 should be opened and the Display Vendor Address should be shown for that vendor.
Please guide how should I go about it. There is no parameter id for the Address Check Box in MK03 Screen. So Please dont suggest the set parameter id and call transaction.
thanks
‎2007 Jun 06 8:57 AM
Hi,
i do it in this way:
Definition der internen BDC-Tabelle
DATA BEGIN OF BDCDATA 0.
INCLUDE STRUCTURE BDCDATA.
DATA END OF BDCDATA.
************************************************************************
...
PERFORM MK03 USING ITAB-LIFNR.
...
************************************************************************
FORM MK03 USING LIFNR.
...
*
REFRESH BDCDATA.
*
PERFORM BDC_DYNPRO USING 'SAPMF02K' '0108'.
PERFORM BDC_FIELD USING 'RF02K-LIFNR' LIFNR.
PERFORM BDC_FIELD USING 'RF02K-EKORG' SPACE.
PERFORM BDC_FIELD USING 'RF02K-D0110' 'X'.
PERFORM BDC_FIELD USING 'RF02K-D0120' SPACE.
PERFORM BDC_FIELD USING 'RF02K-D0130' SPACE.
PERFORM BDC_FIELD USING 'BDC_OKCODE' '/00'.
*
CALL TRANSACTION 'MK03' USING BDCDATA MODE 'E'.
*
ENDFORM.
************************************************************************
FORM BDC_DYNPRO USING PROGRAM DYNPRO.
*
CLEAR BDCDATA.
BDCDATA-PROGRAM = PROGRAM.
BDCDATA-DYNPRO = DYNPRO.
BDCDATA-DYNBEGIN = 'X'.
APPEND BDCDATA.
*
ENDFORM.
************************************************************************
FORM BDC_FIELD USING FNAM FVAL.
*
CLEAR BDCDATA.
BDCDATA-FNAM = FNAM.
BDCDATA-FVAL = FVAL.
APPEND BDCDATA.
*
ENDFORM.
************************************************************************
regards, Dieter
‎2007 Jun 06 8:53 AM
Hi KVC ,
How are you implmenting the ALV using objects or FM.
You need to get the value on which the user double clicked , it varies in both the methods , once you get the value , you can use the statement CALL TRANSACTION with the addition AND SKIP FIRST SCREEN , USING itab .
Reagrds
Arun
‎2007 Jun 06 8:54 AM
Hello KVC,
Similar kind of reqirement we also got.
Want we can do is record a BDC and run it in all screen mode.
Check this:
FORM USER_COMMAND USING R_UCOMM LIKE SY-UCOMM
RS_SELFIELD TYPE SLIS_SELFIELD.
DATA: L_LIFN2 TYPE WYT3-LIFN2.
DATA: L_EKORG TYPE WYT3-EKORG.
*refresh g_t_bdc.
CASE R_UCOMM.
WHEN '&IC1'. "doubleclick
CHECK RS_SELFIELD-FIELDNAME = 'LIFN2'.
READ TABLE G_T_WYT3 INDEX RS_SELFIELD-TABINDEX.
IF SY-SUBRC = 0.
CLEAR : L_LIFN2.
SET PARAMETER ID 'LIF' FIELD G_T_WYT3-LIFN2.
SET PARAMETER ID 'EKO' FIELD G_T_WYT3-EKORG.
GET PARAMETER ID 'LIF' FIELD L_LIFN2.
GET PARAMETER ID 'EKO' FIELD L_EKORG.
ENDIF.
PERFORM CALL_MK03 USING L_LIFN2 L_EKORG.
ENDCASE.
ENDFORM. " USER_COMMAND
*&---------------------------------------------------------------------*
*& Form BDC_DYNPRO
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_0198 text
* -->P_0199 text
*----------------------------------------------------------------------*
FORM BDC_DYNPRO USING PROGRAM
DYNPRO.
CLEAR G_T_BDC.
G_T_BDC-PROGRAM = PROGRAM.
G_T_BDC-DYNPRO = DYNPRO.
G_T_BDC-DYNBEGIN = 'X'.
APPEND G_T_BDC.
ENDFORM. " BDC_DYNPRO
*&---------------------------------------------------------------------*
*& Form BDC_FIELD
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_0208 text
* -->P_G_T_WYT3_LIFN2 text
*----------------------------------------------------------------------*
FORM BDC_FIELD USING FNAM
FVAL.
IF FVAL <> SPACE.
CLEAR G_T_BDC.
G_T_BDC-FNAM = FNAM.
G_T_BDC-FVAL = FVAL.
APPEND G_T_BDC.
ENDIF.
ENDFORM. " BDC_FIELD
*&---------------------------------------------------------------------*
*& Form call_mk03
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_LW_LIFN2 text
*----------------------------------------------------------------------*
FORM CALL_MK03 USING P_L_LIFN2 P_L_EKORG.
PERFORM BDC_DYNPRO USING 'SAPMF02K' '0108'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RF02K-D0110'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'USE_ZAV'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'/00'.
PERFORM BDC_FIELD USING 'RF02K-LIFNR'
P_L_LIFN2.
PERFORM BDC_FIELD USING 'RF02K-EKORG'
P_L_EKORG.
PERFORM BDC_FIELD USING 'RF02K-D0110'
'X'.
PERFORM BDC_FIELD USING 'USE_ZAV'
'X'.
PERFORM BDC_DYNPRO USING 'SAPMF02K' '0111'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RF02K-LIFNR'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'/00'.
PERFORM BDC_DYNPRO USING 'SAPLSPO1' '0100'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=NO'.
CALL TRANSACTION 'MK03' USING G_T_BDC MODE 'E'.
CLEAR G_T_BDC.
REFRESH G_T_BDC.
ENDFORM. " call_mk03
REgards,
Vasanth
‎2007 Jun 06 8:57 AM
Hi,
i do it in this way:
Definition der internen BDC-Tabelle
DATA BEGIN OF BDCDATA 0.
INCLUDE STRUCTURE BDCDATA.
DATA END OF BDCDATA.
************************************************************************
...
PERFORM MK03 USING ITAB-LIFNR.
...
************************************************************************
FORM MK03 USING LIFNR.
...
*
REFRESH BDCDATA.
*
PERFORM BDC_DYNPRO USING 'SAPMF02K' '0108'.
PERFORM BDC_FIELD USING 'RF02K-LIFNR' LIFNR.
PERFORM BDC_FIELD USING 'RF02K-EKORG' SPACE.
PERFORM BDC_FIELD USING 'RF02K-D0110' 'X'.
PERFORM BDC_FIELD USING 'RF02K-D0120' SPACE.
PERFORM BDC_FIELD USING 'RF02K-D0130' SPACE.
PERFORM BDC_FIELD USING 'BDC_OKCODE' '/00'.
*
CALL TRANSACTION 'MK03' USING BDCDATA MODE 'E'.
*
ENDFORM.
************************************************************************
FORM BDC_DYNPRO USING PROGRAM DYNPRO.
*
CLEAR BDCDATA.
BDCDATA-PROGRAM = PROGRAM.
BDCDATA-DYNPRO = DYNPRO.
BDCDATA-DYNBEGIN = 'X'.
APPEND BDCDATA.
*
ENDFORM.
************************************************************************
FORM BDC_FIELD USING FNAM FVAL.
*
CLEAR BDCDATA.
BDCDATA-FNAM = FNAM.
BDCDATA-FVAL = FVAL.
APPEND BDCDATA.
*
ENDFORM.
************************************************************************
regards, Dieter