Customizing-Beispiele

E-Mail-Client aufrufen

Ziel

  • Customizing von Hyperlink-Datenfeldern zum Aufrufen eines E-Mail-Clients mit Python
    • Für Datenfelder mit Dataitems, die den DF-Typ AM besitzen

Vorgehensweise

subject_text = "" body_text = ""
    • subject_text = Betreff der E-Mail
    • body_text = Inhalt der E-Mail
Anpassungsmöglichkeiten der Werte: Betreff und Inhalt:
  • Mit dem obigen Customizing werden Betreff und Inhalt nicht befüllt. Es ist eine manuelle Eingabe in der E-Mail nötig.
  • Um den Betreff oder Inhalt zu befüllen kann die PythonAPIReference benutzt werden.
    • Hierzu im Datenfeld Datenfeld-Konfiguration die Variablen subject_text und body_text über Python setzen.
    • Um auf die Werte der Datensätze zuzugreifen kann man sich des Objekts record bedienen, das eine Instanz der MTSRecord Klasse darstellt.
subject_text = record.name.get_raw_value()

Beispiel für einen Python-Wertebereich

Ziel

  • DI041088 DF-Python-ID im Modul Datenbereiche

Beispiel

from ppms import ppms_cu

di_prefix = "DI: "
di_prefix_lenghth = len(di_prefix)

def get_df_cust_name(di):
    df_name = di.get_dtp_record().df_customizing_name.get_value()
    if df_name: return df_name # return name on DF level if set
    return None

def get_di_cust_name(di):
    di_nr = di.get_dtp_record().di.get_value()
    di_cust_name = str()

    if not di_nr: return None

    di_record = ppms.search_record(412,[di_nr],[41035], True)

    if di_record: di_cust_name = di_record.di_customizing_name.get_value()
    else: return None

    if di_cust_name: return di_cust_name

def computeOutput(di):
    name = str()
    if get_df_cust_name(di):
        return get_df_cust_name(di)
    elif get_di_cust_name(di):
        return di_prefix + get_di_cust_name(di)
    return ""

computeOutput.deps = ("DI041036","DI000213","DI000984")

def checkInput(di, old_value):
    return ppms_cu.Helper.validate_python_id(di,di.get_value())
checkInput.deps=("DI001862",)

def processInput(di, old_value):
    new_value = di.get_value()
    rec = di.get_dtp_record()

    #in case of copy
    if new_value[:4]==di_prefix:
        rec.df_customizing_name.set_string_value("")
        return di_prefix + get_di_cust_name(di)

    #in case of empty python ID
    if not new_value.strip():
        rec.df_customizing_name.set_string_value("")
        if not get_di_cust_name(di):
            return ""
        return di_prefix + get_di_cust_name(di)

    #in case of new value = old value
    if new_value.strip() == old_value:
        return ppms_cu.Helper.get_python_id_by_license(new_value)

    rec.df_customizing_name.set_string_value(ppms_cu.Helper.get_python_id_by_license(new_value))
    return  ppms_cu.Helper.get_python_id_by_license(new_value)

processInput.deps = ("DI041036",) 

Beispiel für Abbilden der Menüpunkte 154/151 (Alles markieren/Alles demarkieren) mit Python

Ziel

  • Die Menüpunkte 154 (Alles markieren) und 151 (Alles demarkieren) mit Python abbilden

Beispiel

# get module object

mod_obj=ppms.get_target_module() 

#mark all records of all datareas in the module

ppms.echo_off()

[[mts_rec.mark() for mts_rec in mts_rec_list]for mts_rec_list in [da_obj.get_records() for da_obj in mod_obj.get_das()]]

ppms.echo_on() 

#unmark all marked records of all dataareas in the module

ppms.echo_off()

[[mts_rec.unmark() for mts_rec in mts_rec_list]for mts_rec_list in [da_obj.get_marked_records() for da_obj in mod_obj.get_das()]]

ppms.echo_on() 

         PLANTA project









 
  • Suche in Topic-Namen

  • Suche in Topic-Inhalten
This site is powered by the TWiki collaboration platform Powered by Perl