05-25-2011 10:24 AM
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
05-25-2011 3:57 PM
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.
05-27-2011 12:08 PM
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.
05-27-2011 12:11 PM
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
05-27-2011 12:09 PM