2007 Sep 05 10:37 AM
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 ..........
2007 Sep 05 10:41 AM
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.
2007 Sep 05 10:48 AM
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^