Das QPPD Framework stellt Methoden zur Verfügung, um die TOE - Plausibilisierung und Suchhilfen (F) auch aus externen Anwendungen zu nutzen.
Im QPPD Framework werden die zugehörigen Klassen, Programme und Funktionen mit dem Ident TOE (Technisches Objekt zum Element) beschrieben.
Die Methoden sind über die Klasse /SCT/QP_CL_TOE mit dem Interface /SCT/QP_IF_TOE aufrufbar.
Der Report /sct/qp_demo_toe_external_call zeigt die Verwendung der Methoden.Exporting Parameter IS_TOE
über den Parameter werden alle Informationen der nachfolgend beschriebenen Methoden mitgegeben. es werden nur die folgenden Felder benötigt.
ELEMENT, Name des im Customizing hinterlegten Elements
OBJEKTTYP, Name der verwendeten Registerkarte. Je verwendeter Registerkarte können alternative Definionen zum Kontext oder Plausibiliserung hinterlegt werden. Wird der Objektyp nicht gesetzt wird die erste Verwendung des Element auf Registerkarten ermittelt und verwendet.
ELEMENTGRUPPE, Name der Elementgruppe zur verwendeten Objekttyp. Wird die Elementgruppe nicht gesetzt wird die erste Verwendung ermittelt.
VALUE, der zu überprüfende Wert.
VALIDATE, Datum zur Ermittlung der Element Werte im Gültigkeitszeitraum
get_instance
Erzeugt eine singleton Instance.
TRY.    mo_toe = /sct/qp_cl_toe=>get_instance( ).    CATCH /sct/qp_cx_error.ENDTRY.add_context
Falls bei der Plausibilisierung Kontext Elemente verwendet werden, müssen diese vorher gesetzt werden. Der Kontext ist gültig für alle folgenden Methodenaufrufe.
DATA(lt_context) = VALUE /sct/qp_t_qvc_val_data( ( element = p_celem1 value = p_cval1 )                                                  ( element = p_celem2 value = p_cval2 )                                                  ( element = p_celem3 value = p_cval3 ) ).mo_toe->add_context( lt_context ).get_context
Ermittelt die im Customizing hinterlegten Kontext Elemente.
DATA(rt_element) = mo_toe->get_context_elements( is_toe = VALUE #( element = p_elem ) ).free_context
Ändern sich der Kontext kann der aktuelle Kontext zurückgesetzt werden.
mo_toe->free_context( ).check_value
prüft die Gültigkeit eines Element Werte in Abhängigkeit von Kontext, Gültigkeitszeitraum und Status.
Der Parameter: RV_VALID gibt die Gültigkeit wieder. Die gültigen Werte können über die Konstanten Klasse /SCT/QP_CL_CONST=>TOE-VALID abgefragt werden.
0 OK: - Wert ist gültig
2 warning: - Warnung
4 out_of_validity_period: - ausserhalb des Gültigkeitszeitraums
6 failed: - ungültig
7 index_not_found: - nicht im Index gefunden
Der Parameter ES_MESSAGE gibt eine differenzierte Fehlerbeschreibung aus.
DATA ls_message TYPE /sct/qp_s_message.DATA(rv_valid) = mo_toe->check_value( EXPORTING is_toe = VALUE #( element = p_elem value = p_value valid_date = sy-datum )                                      IMPORTING es_message = ls_message ).case rv_valid:    when /sct/qp_cl_const=>toe-valid-ok.    when /sct/qp_cl_const=>toe-valid-warning.    when /sct/qp_cl_const=>toe-valid-out_of_validity_period.    when /sct/qp_cl_const=>toe-valid-failed.    when /sct/qp_cl_const=>toe-valid-index_not_found.endcase.ls_message-message = /sct/qp_cl_tools=>get_instance( )->get_msg_from_msgv( iv_id     = ls_message-msgid                                                                           iv_number = ls_message-msgno                                                                           iv_msgv1  = ls_message-msgv1                                                                           iv_msgv2  = ls_message-msgv2                                                                           iv_msgv3  = ls_message-msgv3                                                                           iv_msgv4  = ls_message-msgv4 ).get_value_list
Ermittelt alle gültigen Werte mit Berücksichtigung von Kontext und Gültigkeitszeitraum. zu den gültigen Werten werden die mehrspracheigen Texte ausgegeben.
Parameter:
IV_TOEC_ACTIVE gibt an, ob Gültigkeit der Werte anhand des Kontextes berücksichtigt werden sollen
IS_SELOPT zusätzlich Selektionsbedingungen zu den Felder des Elementwertes
mo_toe->get_value_list( EXPORTING is_toe         = VALUE #( element = p_elem valid_date = sy-datum )                                   iv_toec_active = abap_true                                    is_selopt = VALUE #( value = VALUE #( ( option = 'CP' sign = 'I' low = '*' ) )                                                        maxamount = 50 )                          IMPORTING et_value = DATA(lt_data) ).get_value_text
Ermittlung die mehrsprachigen Texte zum Element Wert.
Parameter:
ES_VALT Texte in der angegebenen Sprache
ET_VALT alle mehrsprachigen Texte
mo_toe->get_value_text( EXPORTING is_toe = VALUE #( element = p_elem value = p_value )                                    "iv_spras = SY-LANGU                          IMPORTING es_valt = DATA(ls_valt) "text in IV_SPRAS                                    et_valt = DATA(lt_valt) ). out->write( |DEFAULT LANGUAGE TEXT: { ls_valt-scrtext_l } | ). LOOP AT lt_valt REFERENCE INTO DATA(lr_valt).     out->write( |LANGUAGE: { lr_valt->spras } TEXT: { lr_valt->scrtext_l } | ). ENDLOOP.f4_call
Aufruf der Suchhilfe zum Element.
Parameter:
RT_RESULT Tabelle der selektierten Werte
DATA(lt_result) = mo_toe->f4_call( is_toe = VALUE #( element = p_elem value = p_value ) iv_disponly = abap_false CHECK lt_result IS NOT INITIAL. p_value = lv_result[ 1 ]-value.Try Catch Block
Fehler werden über Exceptions ausgegeben. Zum Abfangen der Fehlernachrichten wird ein Try Catch Block verwendet.
TRY.mo->toe->* CATCH /sct/qp_cx_error INTO DATA(lo_err).     out->write( |---------- EXCEPTION: ' { lo_err->get_longtext( ) }| ). ENDTRY.