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

How to use function module 'MC_POPUP_TO_MARK_VALUES' ?

Former Member
0 Likes
463

Hai,

I used CALL FUNCTION 'MC_POPUP_TO_MARK_VALUES' to delete duplicates in the F4 help but in my program ,When we press F4 help , radio buttons are appearing in the F4 help window. How to avoid that ? Or is there any other function module which will give me the same result without radio button ?

Plz help me out to solve this , and get rewards ..........

Hai,

I used CALL FUNCTION 'MC_POPUP_TO_MARK_VALUES' to delete duplicates in the F4 help but in my program ,When we press F4 help , radio buttons are appearing in the F4 help window. How to avoid that ? Or is there any other function module which will give me the same result without radio button ?

Plz help me out to solve this , and get rewards ..........

2 REPLIES 2
Read only

Former Member
0 Likes
409

See MMCP3FG0

*----


*

  • INCLUDE MMCP3FG0 *

*----


*

FORM GET_VALUES.

  • Funktionscode ist nur aktiv, wenn auch Daten besorgt werden können

  • sollte später so sein! => jetzt message wenn nicht möglich

DATA: GV_HLP_VALUES LIKE MCVALUES OCCURS 0 WITH HEADER LINE,

GV_MRK_VALUES LIKE MCMARKED_VALUES OCCURS 0 WITH HEADER LINE,

GV_HLP_KEYS LIKE IKEYF OCCURS 0 WITH HEADER LINE,

GV_ICONTEXT LIKE RSEU1-ICON_TEXT,

GV_ICONINFO LIKE RSEU1-ICON_INFO,

GV_OFFSET TYPE I,

GV_MITAB_INDEX TYPE I,

GV_POPUP_TITLE(30),

GV_AKTION,

GV_FLG_APPEND.

  • feststehende Ausprägungen der drüberliegenden Ebenen besorgen:

GV_HLP_KEYS[] = KEYS[].

PERFORM FILL_KEYFELDERVALUES IN PROGRAM (PNAME)

TABLES GV_HLP_KEYS

USING H_PLOBO.

  • zuerst darf der User mal versuchen Ausprägungen vorzuschlagen:

CALL CUSTOMER-FUNCTION '018'

EXPORTING

I_GSTRU = TMC4-GSTRU

I_FIELDNAME = PFAD_ALLG_HIER-FIELDNAME

TABLES

T_CHARACTERISTIC_VALUES = GV_HLP_KEYS

T_VALUE_TAB = GV_HLP_VALUES

EXCEPTIONS

OTHERS = 0.

READ TABLE GV_HLP_VALUES INDEX 1.

IF SY-SUBRC <> 0.

  • jetzt im Standard versuchen Ausprägungen vorzuschlagen:

CALL FUNCTION 'MC_HIERARCHIE_ANREICHERN'

EXPORTING

I_GSTRU = TMC4-GSTRU

I_FIELDNAME = PFAD_ALLG_HIER-FIELDNAME

TABLES

T_MCDDOWN = SAV_MCDDOWN

T_CHARACTERISTIC_VALUES = GV_HLP_KEYS

T_VALUE_TAB = GV_HLP_VALUES

EXCEPTIONS

OTHERS = 0.

READ TABLE GV_HLP_VALUES INDEX 1.

IF SY-SUBRC <> 0.

MESSAGE S363.

  • Es kann keine Ausprägung vorgeschlagen werden.

EXIT.

ENDIF.

ENDIF.

  • doppelte rausschmeißen

PERFORM KILL_DOUBLED_ENTRIES IN PROGRAM (PNAME)

TABLES GV_HLP_VALUES

USING PFAD_ALLG_HIER-FIELDNAME.

READ TABLE GV_HLP_VALUES INDEX 1.

IF SY-SUBRC <> 0.

MESSAGE S363.

  • Es kann keine Ausprägung vorgeschlagen werden.

EXIT.

ENDIF.

  • aus den vorgeschlagenen welche aussuchen lassen:

LOOP AT GV_HLP_VALUES.

GV_MRK_VALUES-VALUE = GV_HLP_VALUES-VALUE.

GV_MRK_VALUES-MARKED = TRUE.

APPEND GV_MRK_VALUES.

ENDLOOP.

  • Popuptitel setzen:

READ TABLE GV_HLP_KEYS WITH KEY FIELDNAME = PFAD_ALLG_HIER-FIELDNAME.

GV_POPUP_TITLE = TEXT-301.

GV_OFFSET = STRLEN( GV_POPUP_TITLE ).

ADD 2 TO GV_OFFSET.

WRITE GV_HLP_KEYS-FTEXT TO GV_POPUP_TITLE+GV_OFFSET.

  • Icontext setzen: (Übernehmen)

GV_ICONTEXT = TEXT-300.

GV_ICONINFO = TEXT-300.

  • Popup:

CALL FUNCTION 'MC_POPUP_TO_MARK_VALUES'

EXPORTING

  • I_MAX_MARKED_VALUES =

I_MIN_MARKED_VALUES = 0

I_POPUP_TITLE = GV_POPUP_TITLE

  • i_textline = ' '

  • I_TEXT_LENGTH = 40

I_ICONTEXT_FOR_ENTER = GV_ICONTEXT

I_ICONINFO_FOR_ENTER = GV_ICONINFO

TABLES

T_VALUES_FOR_MARKING = GV_MRK_VALUES

EXCEPTIONS

CANCEL_PUSHED = 1

OTHERS = 2.

IF SY-SUBRC = 1.

  • Abbrechen wurde gedrückt oder es ist nix markiert:

EXIT.

ENDIF.

  • die markierten Ausprägungen übernehmen und zwar jeweils

  • Strategie: es wird so getan als ob die Ausprägungen per Hand

  • eingetragen worden sind: (siehe MODULE zeile_uebern_5510.)

  • die letzte Ausprägung suchen:

GV_MITAB_INDEX = 1.

LOOP AT MITAB_PLOBJ WHERE PLOBU <> SPACE.

ADD 1 TO GV_MITAB_INDEX.

ENDLOOP.

LOOP AT GV_MRK_VALUES WHERE MARKED = TRUE.

  • 1. value im generierten Coding setzen

PERFORM SET_FIELDVALUE_IN_SXYZ IN PROGRAM (PNAME)

USING PFAD_ALLG_HIER-FIELDNAME

GV_MRK_VALUES-VALUE.

READ TABLE MITAB_PLOBJ INDEX GV_MITAB_INDEX.

IF SY-SUBRC <> 0.

GV_FLG_APPEND = TRUE.

ENDIF.

CLEAR GV_AKTION.

PERFORM CHECK_FIELD IN PROGRAM (PNAME)

TABLES KEYS

USING GV_MITAB_INDEX

PFAD_ALLG_HIER-FIELDNAME

PFAD_ALLG_HIER-KEYID

H_PLOBO

KZ_AKTION

H_PLOBU

RMCP3-HPRGR

RMCP3-HWERK.

CASE KZ_AKTION.

WHEN 'S'.

*----

-


M-Auspraegung hat sich nicht geaendert + ist <> space.

  • darf nicht vorkommen

CONTINUE.

WHEN 'C'.

*----

-


M-Auspraegung hat sich nicht geaendert + ist space.

  • darf nicht vorkommen

CONTINUE.

WHEN 'D'.

*----

-


Doppeleintrag

  • darf nicht vorkommen

CONTINUE.

WHEN 'N'.

*----

-


Neueintrag

  • darum geht's

MITAB_PLOBJ-MANDT = SY-MANDT.

MITAB_PLOBJ-PLOBO = H_PLOBO.

MITAB_PLOBJ-PLOBU = H_PLOBU.

MITAB_PLOBJ-FIXKZ = KZ_FIXIERUNG.

MITAB_PLOBJ-GSTRU = TMC4-GSTRU.

MITAB_PLOBJ-DATUM = BISDATUM.

MITAB_PLOBJ-PRKOF = 1.

MITAB_PLOBJ-ANTEI = 0.

  • keine Einheitenverprobung, weil nur konsistente Planung

MODIFY MITAB_PLOBJ INDEX GV_MITAB_INDEX.

*----

-


Anfuegen Leerzeilen sowohl in MITAB_PLOBJ als auch in gener.

PERFORM CLEAR_MERKMAL IN PROGRAM (PNAME)

TABLES KEYS

USING PFAD_ALLG_HIER-FIELDNAME

PFAD_ALLG_HIER-KEYID.

PERFORM PLUS_MITGLIEDER IN PROGRAM (PNAME) USING 1.

CLEAR MITAB_PLOBJ.

APPEND MITAB_PLOBJ.

KZ_AENDERUNG_STUFE = TRUE.

ADD 1 TO GV_MITAB_INDEX.

ENDCASE.

ENDLOOP.

ENDFORM.

******************************************************************

FORM GET_VALUES_CHECK

CHANGING GV_FLG_GETV.

  • eventuell Prüfungen durchführen, ob values besorgt werden können

CHECK T445A-FLGPL = 'K'.

GV_FLG_GETV = TRUE.

ENDFORM.

*----


*

  • übergeordnetes Material der Planungshierarchie besorgen

*----


*

FORM GET_MATERIAL_OF_TREE USING GM_MATNR LIKE MARC-MATNR.

DATA: GM_HLP_KEYS LIKE IKEYF OCCURS 0 WITH HEADER LINE.

CLEAR GM_MATNR.

  • feststehende Ausprägungen der darüberliegenden Ebenen besorgen:

GM_HLP_KEYS[] = KEYS[].

PERFORM FILL_KEYFELDERVALUES IN PROGRAM (PNAME)

TABLES GM_HLP_KEYS

USING H_PLOBO.

READ TABLE GM_HLP_KEYS WITH KEY KEYID = 'M'.

IF SY-SUBRC = 0.

GM_MATNR = GM_HLP_KEYS-VALUE.

ENDIF.

ENDFORM.

*----


*

  • übergeordnetes Clint der Planungshierarchie besorgen

*----


*

FORM GET_CLINT_OF_TREE USING GC_CLINT LIKE KLAH-CLINT.

DATA: GC_HLP_KEYS LIKE IKEYF OCCURS 0 WITH HEADER LINE.

CLEAR GC_CLINT.

  • feststehende Ausprägungen der darüberliegenden Ebenen besorgen:

GC_HLP_KEYS[] = KEYS[].

PERFORM FILL_KEYFELDERVALUES IN PROGRAM (PNAME)

TABLES GC_HLP_KEYS

USING H_PLOBO.

READ TABLE GC_HLP_KEYS WITH KEY KEYID = 'C'.

IF SY-SUBRC = 0.

GC_CLINT = GC_HLP_KEYS-VALUE.

ENDIF.

ENDFORM.

Read only

Former Member
0 Likes
409

hi

good

if you want to avoid the radio buttons than i think you need to change in the standard program that is generating those radio button,if it is function module specific than you need to do the required changes in the function module so that these radio buttons wont display in the next time.

thanks

mrutyun^