Die Erstellung von Formularen ist im allgemeinen von den Vorschriftsarten und den verwendeten Datenstrukturen abhängig. Formulare werden i.d.R. neu erstellt. QPPD stellt Templates für das Formular und die Datenbeschaffung bereit:
Formular: /SCT/QPPD_FORM
Stil: /SCT/QPPD_STANDARD
ABAP-Klasse: /SCT/QP_CL_FORMS.
Das die ABAP-Klasse ermittelt alle Daten und die entsprechende Texte für alle hierarchisch untergeordneten Knoten:
Knoten Kopfinformationen
Objekttypen und deren Texte
Elemente mit konvertierten Werten und deren Kurztext
Spalten Elemente mit Werten und deren Kurztext und Überschriften für tabellarische Darstellungen
Technische Namen von Einheiten
Standard Texte
Prüfmerkmale
1. ABAP-Klasse erstellen
eine Kopie der ABAP-Klasse /SCT/QP_CL_FORMS erstellen:
Anpassung des Datenstrukturen Datenstrukturen für Namen und Spaltenelementen
Typendefinitionen von TS_FORMS-NAME, TS_VAL
Methoden: SET_NAMES
Anpassung der Tabellen Zuordnungen und Defaults
METHOD set_default.    " toBe redefined    "excluded object types    ms_default-range_objtyp = VALUE #( sign = 'E' option = 'CP'  ( low = 'STATUS'  )                                                         ( low = 'ADMIN'   )                                                         ( low = 'BUILDER' )                                                         ( low = 'HEADER'  )                                                         ( low = 'LOG'     )                                                         ( low = 'FORMS'   )                                                         ( low = 'HEADER*' ) ).    "Objecttyp link to formualr table    ms_default-object_table = VALUE #( ( objekttyp = 'INSPCHAR'   table =  'INSPECTION' )                                       ( objekttyp = 'COLUMNGRID' table =  'XXX' ) ).    "Default table links and spras    ms_default = VALUE #( table_val = 'BASIC'                          table_pmk = 'INSPECTION'                          table_txt = 'TEXT'                          spras     = 'E' ).  ENDMETHOD.Erweiterung der Sprachen als Selektion des Buttons
METHOD /sct/qp_if_forms~get_forms.    DATA lt_forms LIKE mt_forms.    IF mt_forms IS INITIAL.      super->/sct/qp_if_forms~get_forms( ).      "add multi language forms  Formulare hinzufügen      LOOP AT mt_forms ASSIGNING FIELD-SYMBOL(<form>).        DATA(ls_form) = <form>.        ls_form-spras = 'D'.                         "German        ls_form-ident = |{ <form>-ident } [de]|.        ls_form-standard = abap_false.        INSERT ls_form INTO TABLE lt_forms.        ls_form-spras = 'E'.                         "English        ls_form-ident = |{ <form>-ident } [en]|.        ls_form-standard = abap_false.        INSERT ls_form INTO TABLE lt_forms.      ENDLOOP.      mt_forms = VALUE #( BASE mt_forms ( LINES OF lt_forms ) ).      SORT mt_forms BY sortnr ident.    ENDIF.    rt_forms = super->/sct/qp_if_forms~get_forms( iv_ident = iv_ident ).  ENDMETHOD.2. Formular erstellen
eine Kopie des Formulars /SCT/QPPD_FORM erstellen
Formular Schnittelle anpassen
Import Parameter  | Type  | 
|---|---|
IS_FORM  | ZCL_FORMS=>TS_FORM  | 
Globale Strukturen anpassen
Variable Name  | Type  | 
|---|---|
MS_NODE  | ZCL_FORMS=>TS_NODE  | 
MS_OBJECT  | ZCL_FORMS=>TS_OBJECT  | 
MS_VAL  | ZCL_FORMS=>TS_VAL  | 
MS_PMK  | ZCL_FORMS=>TS_PMK  | 
MS_TXT  | ZCL_FORMS=>TS_TXT  |