Struktur als Using-Parameter aus Fuba an Unterprogramm

Getting started ... Alles für einen gelungenen Start.
3 Beiträge Seite 1 von 1
3 Beiträge Seite 1 von 1

Struktur als Using-Parameter aus Fuba an Unterprogramm

Beitrag von kbit100 (Specialist / 128 / 41 / 0 ) » 12. Feb 2016 14:32

Hallo,

ich einem Fuba rufe ich mit perform <UProg> using ... ein Unterprogramm auf und übergebe u.a. eine Struktur. Wenn ich im Unterprogramm einzelne Felder dieser Struktur anspreche, erhalte ich die Fehlermeldung "Das Datenobjekt "IS_CHECK_ADR" besitzt keine Struktur und daher auch keine Komponente mit Namen "N_HNRVON"."

Im Fuba wurde die Struktur so deiniert:

Code: Alles auswählen.

  TYPES:
    BEGIN OF ts_check_adr,
      datum_von  TYPE sy-datum,
      datum_bis  TYPE sy-datum,
      country    TYPE land1,
      langu      TYPE langu,
      city_name  TYPE ad_city1,
      city_part  TYPE ad_city2,
      city_code  TYPE ad_citynum,
      cityp_code TYPE ad_citypnm,
      post_code  TYPE post_code,
      street     TYPE ad_street,
      strt_code	 TYPE strt_code,
      housenum_h TYPE housenum_h,
      hsn_supp_h TYPE hsn_supp_h,
      housenum_l TYPE housenum_l,
      hsn_supp_l TYPE hsn_supp_l,
      hsn_ind	   TYPE hsn_ind,
      n_hnrvon   TYPE ad_hsnm1,
      n_hnrbis   TYPE ad_hsnm2,
      a_hnrvon   TYPE ad_hsnm1,
      a_hnrbis   TYPE ad_hsnm2,
    END OF ts_check_adr.
Der Arbeitsbereich wurde so definiert:

Code: Alles auswählen.

    ls_check_adr     TYPE ts_check_adr,
Das Unterprogramm wird so aufgerufen:

Code: Alles auswählen.

              perform get_netz using '01'
                                     lv_s_netz
                                     ''
                                     ''
                                     ''
                                     ls_check_adr
                            changing ct_net_xxx.
Im Unterprogramm werden die Daten so empfangen:

Code: Alles auswählen.

FORM get_netz USING iv_sparte
                    iv_s_netz
                    iv_g_netz
                    iv_g_teilnetz
                    iv_g_netzbereich
                    is_check_adr
           CHANGING ct_net_xxx TYPE table.
IS_CHECK_ADR entspricht dem übergebenen LS_CHECK_ADR. Im Unterprogramm kommen auch Daten in der Struktur an.

Im Unterprogramm gibt's Probleme mit dieser Anweisung:

Code: Alles auswählen.

        ls_net_xxx-housenum_l = is_check_adr-n_hnrvon.
        ls_net_xxx-hsn_supp_l = is_check_adr-a_hnrvon.
        ls_net_xxx-housenum_h = is_check_adr-n_hnrbis.
        ls_net_xxx-hsn_supp_h = is_check_adr-a_hnrbis.
während ein

Code: Alles auswählen.

MOVE-CORRESPONDING is_check_adr TO ls_net_xxx.
keine Probleme macht.
Leider kann ich bei den vier Feldern keinen MOVE-CORRESPONDING machen, da die festgeschriebene Struktur ls_net_xxx das nicht hergibt.

Für einen Tipp wäre ich sehr dankbar.

Gruß

K.


Re: Struktur als Using-Parameter aus Fuba an Unterprogramm

Beitrag von JHM (Top Expert / 1134 / 0 / 178 ) » 12. Feb 2016 15:00

kbit100 hat geschrieben:Für einen Tipp wäre ich sehr dankbar.
Wieso typisierst du in der FORM die Übergabeparameter nicht sauber?

Code: Alles auswählen.

*Tabellentyp für die Übergabe definieren
TYPES: tt_check_adr TYPE TABLE OF ts_check_adr.

*FORM mit typisierten Übergabeparametern:
FORM get_netz USING iv_sparte
                    iv_s_netz TYPE ?
                    iv_g_netz TYPE ?
                    iv_g_teilnetz TYPE ?
                    iv_g_netzbereich TYPE ?
                    is_check_adr TYPE ?
           CHANGING ct_net_xxx TYPE tT_check_adr.
Wenn es wegen den Programmstrukturen nicht geht, dann muss man die TYPES-Definition eben im DDIC machen.

Oder man ist ganz der Faule, lässt es wie es ist und arbeitet mit ASSING COMPONENT OF STRUCTURE. Aber das wäre an dieser Stelle echt nicht sinnvoll, da man damit nur Fehler im Desing ausbügeln würde.
Gruß Hendrik

Re: Struktur als Using-Parameter aus Fuba an Unterprogramm

Beitrag von kbit100 (Specialist / 128 / 41 / 0 ) » 16. Feb 2016 08:24

Vielen Dank.

Müsste dann nicht auch iv_sparte typisiert werden?

Gruß

K.

Seite 1 von 1

Aktuelle Forenbeiträge

Langtext zur Exception
vor 43 Minuten von a-dead-trousers 11 / 96
Adobe LiveCycle Designer - Ausblenden Text auf letzter Seite
vor 2 Stunden von a-dead-trousers 4 / 91
Welche Entwicklertools?
vor 17 Stunden von LostDarkness 2 / 921
Werksspezifische Konfiguration kopieren
vor 19 Stunden von eleve 2 / 48
Removal of left space - next to a docking container
vor 19 Stunden von Haemma83 16 / 114

Unbeantwortete Forenbeiträge

BAPI_PO_CREATE1 und Einkaufsinfosatz
vor 3 Tagen von SweetRuedi 1 / 81
WCOCO: Gruppe für Betragsfelder 0S01
vor 5 Tagen von SAP_ENTWICKLER 1 / 52
CAS-Nr.: Chemical Abstracs Service
vor einer Woche von SAP_ENTWICKLER 1 / 92
Interaktives Skript, Rolle IC-Manager
vor 3 Wochen von erubadhron86 1 / 129