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

ALV HELP

Former Member
0 Likes
573

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

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
544

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

3 REPLIES 3
Read only

Former Member
0 Likes
544

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

Read only

Former Member
0 Likes
544

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

Read only

Former Member
0 Likes
545

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