Application Development 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: 

RMMD06NEW required..

Former Member
0 Kudos

Hi Everybody,

My client has a requirement for the MRP list (MD06). The same can be accomplished with the help of program RMMD06NEW which is on Enhancement Package 3 (EhP3) onwards. Our system here doesn't have this. I would like to see the code dump (with all Includes, etc) for this program (RMMD06NEW). I would really appreciate if you folks can just look for this program in your SAP system and if found, please PM me <removed by moderator>.

Thanks for your time.

Regards,

Sanjana.

Edited by: Thomas Zloch on May 25, 2011 11:32 AM

4 REPLIES 4

former_member191735
Active Contributor
0 Kudos

What version of SAP are you in? If it is not available in your system, please search OSS note with the same name. SAP might have something else for the systems under EhP3.

0 Kudos

Hi Sampath,

Thanks for replying. But there was no OSS note reg the requirement. Thus raised to SAP and they came back with this prg name. Our client's system is much back dated patch level wise.. don't have the EhPs too :S Anyways, I managed to get a code dump of the concerned prg and its includes the very same day.. tried to prototype but client doesn't want to move away from the std transaction.. so i have decided to go for enhancements (impl 11 so far) and modif (1 access key taken).

Thanks awyways..

Cheers,

Sanjana.

0 Kudos
REPORT rmmd06new .
*======================================================================*
ENHANCEMENT-POINT RMMD06NEW_G4 SPOTS ES_RMMD06NEW STATIC .
*$*$-Start: RMMD06NEW_G4------------------------------------------------------------------------$*$*
ENHANCEMENT 1  MGV_GENERATED_RMMD06NEW.    "active version
*{SEL-OPT Begin}
*Do not change coding between begin and end comments
INITIALIZATION.
DATA: mgv_matnr_prog LIKE rsvar-report,
      mgv_matnr_selopt_tab like rsldbdfs occurs 0 with header line.
FIELD-SYMBOLS <mgv_matnr_selopt_conv> TYPE STANDARD TABLE.
ENDENHANCEMENT.
*$*$-End:   RMMD06NEW_G4------------------------------------------------------------------------$*$*

ENHANCEMENT-POINT RMMD06NEW_G5 SPOTS ES_RMMD06NEW.
*$*$-Start: RMMD06NEW_G5------------------------------------------------------------------------$*$*
ENHANCEMENT 2  MGV_GENERATED_RMMD06NEW.    "active version
mgv_matnr_prog = sy-repid.
mgv_matnr_selopt_tab-name = 'SO_MATNR' .
append mgv_matnr_selopt_tab.
mgv_matnr_selopt_tab-name = 'SO_PRGRP' .
append mgv_matnr_selopt_tab.
call function 'MGV_SELOP_AFTER_INITIALIZATION'
     EXPORTING
         PROGRAM        = mgv_matnr_prog
     TABLES
         SELOP          = mgv_matnr_selopt_tab
     EXCEPTIONS
         NO_PROGRAMNAME = 1
         OTHERS         = 2
          .
ENDENHANCEMENT.
*$*$-End:   RMMD06NEW_G5------------------------------------------------------------------------$*$*

ENHANCEMENT-POINT RMMD06NEW_G6 SPOTS ES_RMMD06NEW STATIC .
*$*$-Start: RMMD06NEW_G6------------------------------------------------------------------------$*$*
ENHANCEMENT 3  MGV_GENERATED_RMMD06NEW.    "active version
START-OF-SELECTION.
ENDENHANCEMENT.
*$*$-End:   RMMD06NEW_G6------------------------------------------------------------------------$*$*

ENHANCEMENT-POINT RMMD06NEW_G7 SPOTS ES_RMMD06NEW.
*$*$-Start: RMMD06NEW_G7------------------------------------------------------------------------$*$*
ENHANCEMENT 4  MGV_GENERATED_RMMD06NEW.    "active version
  LOOP AT mgv_matnr_selopt_tab.
    CONCATENATE mgv_matnr_selopt_tab-name'[]' INTO
    mgv_matnr_selopt_tab-name.
    ASSIGN (mgv_matnr_selopt_tab-name) TO <mgv_matnr_selopt_conv>.
    IF sy-subrc IS INITIAL.
      CALL FUNCTION 'MGV_SELOP_AFTER_START_OF_SEL'
           EXPORTING
                SELOPT_NAME = mgv_matnr_selopt_tab-name
           TABLES
                RANGE       = <mgv_matnr_selopt_conv>.
    ENDIF.
  ENDLOOP.
*{SEL-OPT End}
ENDENHANCEMENT.
*$*$-End:   RMMD06NEW_G7------------------------------------------------------------------------$*$*

*--> Type-Pools
TYPE-POOLS: m61x.

*--> Data definitions
CONSTANTS:  memo_id_md06(10) TYPE c VALUE 'START_MD06'.

TABLES:     rm61r, mdkp, mt61d, cr61t, cm61x, t450n,
            t000md, am61r, mdlv.

*--> Table of selected materials
DATA: BEGIN OF mdmwx OCCURS 0.
        INCLUDE STRUCTURE mdmw.        "material / plant
DATA: END OF mdmwx.
*--> Table of selected materials
DATA: BEGIN OF mdkex OCCURS 0.
        INCLUDE STRUCTURE mdke.        "material / plant
DATA: END OF mdkex.

*--> Hilfsfelder für die Sammelanzeige aktuelle BBLs
DATA: BEGIN OF matov,
        werks LIKE rm61r-werks,        "Werk aus dem Einstiegsbild
        matnr LIKE rm61r-matnr,        "Material aus dem Einstiegsbild
        berid LIKE rm61r-berid,    "Dispobereich aus dem Einstiegsbild
        plscn LIKE rm61r-plscn,        "Szenario aus dem Einstiegsbild
        initf(1) TYPE c,           "Initialisierung wurde durchgeführt
        disvi(1) TYPE c,               "Disponenten-Feinsel. sichtbar
        lifvi(1) TYPE c,               "Lieferanten-Feinsel. sichtbar
        flivi(1) TYPE c,               "Fert.Linien-Feinsel. sichtbar
        plavi(1) TYPE c,               "Planungsabschnittsel. sichtbar
        seqvi(1) TYPE c,               "Sequenzplanungs-Details sichtbar
        modus(1) TYPE c,               "Materialdaten Ermittelungsmodus
        error(1) TYPE c,               "Fehler beim Ermitteln ABBL
        dsper(1) TYPE c,           "Ausgabe von Fehlern: 'X', wenn ja
        refre(1) TYPE c,               "Auffrischmodus für die ABBL
        refpt(1) TYPE c,               "Auffrischmodus Planungstableau
        detli(1) TYPE c,           "Detail Linie (REMPT)      "99a_rm
        detdi(1) TYPE c,           "Detail Disponent (REMPT)  "99a_rm
        ndisp(1) TYPE c,           "Uebersicht ueberspringen  "RE 4.6A
        newrb(1) TYPE c,           "Wert von neu gesetzem Radiobutton SA
        oldrb(1) TYPE c,               "Wert von altem Radiobutton SA
      END OF matov.

DATA: lv_valid TYPE boolean.

*----------------------------------------------------------------------*
*   Includes for MRP Area and Constants
*----------------------------------------------------------------------*
INCLUDE mm61xdbr.
INCLUDE mm61xval.


************** Start of customer-specific changes *********************
*----------------------------------------------------------
* Selection Screen
*
* REMARK: Please delete unnecessary parameters !!
*----------------------------------------------------------
*--> Planning Scenario for LTP
SELECTION-SCREEN BEGIN OF BLOCK sel_psc WITH FRAME TITLE text-f00.
PARAMETERS: pv_plscn LIKE plpt-plscn.
SELECTION-SCREEN END OF BLOCK sel_psc.

*--> Organization Units
SELECTION-SCREEN BEGIN OF BLOCK sel_wrk WITH FRAME TITLE text-f01.
SELECT-OPTIONS: so_werks FOR rm61r-werks DEFAULT '0001',
                so_berid FOR rm61r-berid MODIF ID dbr.
SELECTION-SCREEN END OF BLOCK sel_wrk.

*--> Selection Paths
SELECTION-SCREEN BEGIN OF BLOCK sel_path WITH FRAME TITLE text-f02.
SELECT-OPTIONS: so_dispo FOR rm61r-dispo,
                so_lifnr FOR rm61r-lifnr,
                so_line1 FOR rm61r-line1,
                so_prgrp FOR rm61r-prgrp.
SELECTION-SCREEN END OF BLOCK sel_path.

*--> Parameters regarding Material Master
SELECTION-SCREEN BEGIN OF BLOCK sel_mat WITH FRAME TITLE text-f03.
SELECT-OPTIONS: so_matnr FOR rm61r-matnr,
                so_disgr FOR mt61d-disgr,
                so_beskz FOR rm61r-beskz,
                so_sobsl FOR rm61r-sobsl,
                so_dismm FOR rm61r-dismm,
                so_mtart FOR rm61r-mtart,
                so_maabc FOR rm61r-maabc,
                so_mmsta FOR rm61r-mmsta.
PARAMETERS:     pv_nolvm TYPE md_nolvm AS CHECKBOX.
SELECTION-SCREEN END OF BLOCK sel_mat.

*--> Parameters regarding days' supply limits
SELECTION-SCREEN BEGIN OF BLOCK sel_krit WITH FRAME TITLE text-f04.
SELECT-OPTIONS: so_dsdat FOR mdkp-dsdat,
                so_beada FOR mdkp-beada,
                so_berw1 FOR mdkp-berw1,
                so_berw2 FOR mdkp-berw2,
                so_berw4 FOR mdkp-berw4.
SELECTION-SCREEN END OF BLOCK sel_krit.

**--> Parameters regarding Planning File Entries
*SELECTION-SCREEN BEGIN OF BLOCK sel_pfe WITH FRAME TITLE text-f06.
*PARAMETERS:     pv_algsa LIKE rm61r-algsa RADIOBUTTON GROUP pfe DEFAULT 'X',
*                pv_gsaen LIKE rm61r-gsaen RADIOBUTTON GROUP pfe,
*                pv_nogsa LIKE rm61r-nogsa RADIOBUTTON GROUP pfe.
*SELECTION-SCREEN END OF BLOCK sel_pfe.

*--> Parameters regarding Processing Indicator
SELECTION-SCREEN BEGIN OF BLOCK sel_prind WITH FRAME TITLE text-f08.
PARAMETERS:     pv_adbkz LIKE rm61r-adbkz RADIOBUTTON GROUP pri DEFAULT 'X',
                pv_bdbkz LIKE rm61r-bdbkz RADIOBUTTON GROUP pri,
                pv_nbekz LIKE rm61r-nbekz RADIOBUTTON GROUP pri,
                pv_naukz LIKE rm61r-naukz AS CHECKBOX.
SELECTION-SCREEN END OF BLOCK sel_prind.

*--> Parameters regarding Exception Groups
SELECTION-SCREEN BEGIN OF BLOCK sel_exgrp WITH FRAME TITLE text-f09.
PARAMETERS:     pv_slkz1 like rm61r-slkz1 as checkbox,
                pv_slkz2 like rm61r-slkz2 as checkbox,
                pv_slkz3 like rm61r-slkz3 as checkbox,
                pv_slkz4 like rm61r-slkz4 as checkbox,
                pv_slkz5 like rm61r-slkz5 as checkbox,
                pv_slkz6 like rm61r-slkz6 as checkbox,
                pv_slkz7 like rm61r-slkz7 as checkbox,
                pv_slkz8 like rm61r-slkz8 as checkbox.
SELECTION-SCREEN END OF BLOCK sel_exgrp.

*--> Parameters regarding filtering
SELECTION-SCREEN BEGIN OF BLOCK sel_fil WITH FRAME TITLE text-f07.
PARAMETERS:     pv_dfilt LIKE rm61r-dfilt DEFAULT 'X',
                pv_filbz LIKE rm61r-filbz.
SELECTION-SCREEN END OF BLOCK sel_fil.

*---------------------------------------------------------
* Other necessary Data Declarations
*---------------------------------------------------------
DATA: range_werks TYPE md_range_t_werks,
      range_berid TYPE md_range_t_berid,
      range_dispo TYPE md_range_t_dispo,
      range_lifnr TYPE md_range_t_lifnr,
      range_line1 TYPE md_range_t_line1,
      range_prgrp TYPE md_range_t_prgrp,
      range_matnr TYPE md_range_t_matnr,
      range_disgr TYPE md_range_t_disgr,
      range_mtart TYPE md_range_t_mtart,
      range_beskz TYPE md_range_t_beskz,
      range_sobsl TYPE md_range_t_sobsl,
      range_dismm TYPE md_range_t_dismm,
      range_maabc TYPE md_range_t_maabc,
      range_mmsta TYPE md_range_t_mmsta.
DATA: range_berw1 TYPE md_range_t_berw1,
      range_berw2 TYPE md_range_t_berw2,
      range_berw4 TYPE md_range_t_berw4.

DATA: lv_dspkz LIKE rm61r-dspkz,
      lv_liekz LIKE rm61r-liekz,
      lv_flikz LIKE rm61r-flikz,
      lv_prgkz LIKE rm61r-prgkz.
DATA: lv_nolvm TYPE md_nolvm.

*-------------------------------------------------------
* Consistency Checks: Plant is mandatory !!
*-------------------------------------------------------
AT SELECTION-SCREEN ON so_werks.
  IF so_werks[] IS INITIAL.
    MESSAGE e453(61).
  ENDIF.

*-------------------------------------------------------
* Activate or Deactivate MRP Area Input Fields
*-------------------------------------------------------
AT SELECTION-SCREEN OUTPUT.
*--> Falls Dispobereich nicht aktiv ist DB Feld ausblenden
  PERFORM read_t000md.
  IF t000md-disfg IS INITIAL.     "Dispobereich nicht aktiv
    LOOP AT SCREEN.
      IF screen-group1 = 'DBR'.
        screen-invisible = '1'.
        screen-input = '0'.
        MODIFY SCREEN.
      ENDIF.
    ENDLOOP.
  ENDIF.

*---------------------------------------------------
*--> Transfer of Parameters (Ranges necessary
*    because of header lines)
*---------------------------------------------------
START-OF-SELECTION.
  range_werks[] = so_werks[].
  range_berid[] = so_berid[].
  range_dispo[] = so_dispo[].
  range_lifnr[] = so_lifnr[].
  range_line1[] = so_line1[].
  range_prgrp[] = so_prgrp[].
  range_matnr[] = so_matnr[].
  range_disgr[] = so_disgr[].
  range_beskz[] = so_beskz[].
  range_sobsl[] = so_sobsl[].
  range_dismm[] = so_dismm[].
  range_mtart[] = so_mtart[].
  range_maabc[] = so_maabc[].
  range_mmsta[] = so_mmsta[].
  range_berw1[] = so_berw1[].
  range_berw2[] = so_berw2[].
  range_berw4[] = so_berw4[].

  rm61r-dfilt   = pv_dfilt.
  rm61r-filbz   = pv_filbz.
  rm61r-adbkz   = pv_adbkz.
  rm61r-bdbkz   = pv_bdbkz.
  rm61r-nbekz   = pv_nbekz.
  rm61r-naukz   = pv_naukz.
  rm61r-plscn   = pv_plscn.
  rm61r-dsdav   = so_dsdat-low.
  rm61r-dsdab   = so_dsdat-high.
  rm61r-beadv   = so_beada-low.
  rm61r-beadb   = so_beada-high.
  rm61r-slkz1   = pv_slkz1.
  rm61r-slkz2   = pv_slkz2.
  rm61r-slkz3   = pv_slkz3.
  rm61r-slkz4   = pv_slkz4.
  rm61r-slkz5   = pv_slkz5.
  rm61r-slkz6   = pv_slkz6.
  rm61r-slkz7   = pv_slkz7.
  rm61r-slkz8   = pv_slkz8.
  lv_nolvm      = pv_nolvm.

*-------------------------------------------------------
*  Selection of Materials by Function Module
*-------------------------------------------------------
*--> Determine Selection Path
  IF     NOT range_prgrp IS INITIAL.
    lv_prgkz = 'X'.
  ELSEIF NOT range_line1 IS INITIAL.
    lv_flikz = 'X'.
  ELSEIF NOT range_lifnr IS INITIAL.
    lv_liekz = 'X'.
  ELSEIF NOT range_dispo IS INITIAL.
    lv_dspkz = 'X'.
  ELSE.
    lv_dspkz = 'X'.
  ENDIF.

*--> New Selection Function Module
  CALL FUNCTION 'MD_SELECTION_MAT_LIST_RANGE'
    EXPORTING
      iv_plscn      = rm61r-plscn
      ir_werks      = range_werks
      ir_berid      = range_berid
      iv_dspkz      = lv_dspkz
      ir_dispo      = range_dispo
      iv_liekz      = lv_liekz
      ir_lifnr      = range_lifnr
      iv_flikz      = lv_flikz
      ir_line1      = range_line1
      iv_prgkz      = lv_prgkz
      ir_prgrp      = range_prgrp
      ir_matnr      = range_matnr
      ir_disgr      = range_disgr
      ir_beskz      = range_beskz
      ir_dismm      = range_dismm
      ir_mtart      = range_mtart
      ir_sobsl      = range_sobsl
      ir_maabc      = range_maabc
      ir_mmsta      = range_mmsta
      iv_gsaen      = rm61r-gsaen
      iv_nogsa      = rm61r-nogsa
      iv_nolvm      = lv_nolvm
    TABLES
      mdmwx         = mdmwx
    EXCEPTIONS
      error_message = 01.

  IF sy-subrc NE 0.
    MESSAGE ID     sy-msgid
            TYPE   sy-msgty
            NUMBER sy-msgno
            WITH   sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ENDIF.

*-----------------------------------------------
* Further Selection Criteria to restrict
* MDMWX-list of materials from above
*-----------------------------------------------
*
*

************** Ende of customer-specific changes **********************

END-OF-SELECTION.
*------------------------------------------------
* Check: Did the Selection find Materials?
*------------------------------------------------
  IF mdmwx[] IS INITIAL.
    MESSAGE s085(61).
    EXIT.
  ENDIF.

*------------------------------------------------
* Export of Data into Material Overview
*------------------------------------------------
  EXPORT mdmwx rm61r
         range_berw1
         range_berw2
         range_berw4
         TO MEMORY ID memo_id_md06.

**-------------------------------------------------
** Start of Dummy-Transaction for Material Overview
**-------------------------------------------------
  IF rm61r-plscn IS INITIAL.
    CALL TRANSACTION 'MDC6' AND SKIP FIRST SCREEN.
  ELSE.
    CALL TRANSACTION 'MSC6' AND SKIP FIRST SCREEN.
  ENDIF.

Edited by: subas Bose on May 27, 2011 1:12 PM

Former Member
0 Kudos

No points given as sorted it out myself.

Cheers