Suchhilfe überprüfen

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

Suchhilfe überprüfen

Beitrag von simethandreas (ForumUser / 26 / 0 / 0 ) »
Ich lese mit folgenden Programm eine Excel-Tabelle in eine SAP-Tabelle "test_excel" ein:

Code: Alles auswählen.

method EXCEL_SYNC~EXCEL_SYNC_IN.
  data: rows type EXCEL_ROW_TAB.
  data: wa_rows type EXCEL_ROWS.
  data: it_test_excel type table of test_excel.
  data: wa_test_excel LIKE LINE OF it_test_excel.

  loop at input-EXCEL-rows into wa_rows.
    wa_test_excel-feld1 = wa_rows-field1.
    wa_test_excel-feld2 = wa_rows-field2.
    ....
    wa_test_excel-feld10 = wa_rows-field10.

    APPEND wa_test_excel to it_test_excel.
  ENDLOOP.

  INSERT zbc_test_excel FROM TABLE it_test_excel.
endmethod.
Die Schleife läuft für jede in der Excel-Tabelle vorhandene Zeile durch. Und innerhalb der Schleife werden die Spalten 1-10 eingelesen.
Das alles funktioniert auch.
Nun möchte ich aber eine Validierung, um zu prüfen ob für das betroffene Feld 1-10 eine Suchhilfe in SAP hinterlegt is und falls ja, der von Excel eingelesene Wert der Suchhilfe entspricht...wenn ja, wird er, wie bisher im Code, übernommen, ansonsten nicht.
Wie kann ich das lösen?
Zuletzt geändert von simethandreas am 09.10.2009 10:05, insgesamt 1-mal geändert.

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Re: Suchhilfe überprüfen

Beitrag von Ratazong (Specialist / 144 / 1 / 14 ) »
Schau Dir mal den Funktionsbaustein DDUT_INPUT_CHECK an, der prüft, ob ein übergebener Wert für ein bestimmtes Feld gültig ist (Festwerte, Prüftabelle, etc.)

Grüße

André

Re: Suchhilfe überprüfen

Beitrag von simethandreas (ForumUser / 26 / 0 / 0 ) »
Und wie wende ich das an?
Bin in ABAP noch der totale Anfänger :(

Re: Suchhilfe überprüfen

Beitrag von Ratazong (Specialist / 144 / 1 / 14 ) »
Du solltest ja wissen, was Du in den einzelnen Feldern an Werten erwartest, z.B. ein Werk, eine Materialnummer, etc.
Diese Quick and Dirty-Lösung unten geht jetzt mal davon aus, daß wir das alles "schön hart verdrahtet" machen.

Code: Alles auswählen.

  loop at input-MT_OSRBG_BC_SOA_EXCEL-rows into wa_rows.
* Prüfung 1. Feld (z.B. ein Werk)
    CALL FUNCTION 'DDUT_INPUT_CHECK'
      EXPORTING
        tabname         = 'MARC'
        fieldname       = 'WERKS'
        calling_program = repid  "Weiß nicht, ob man das braucht
        strucname       = .... "Weiß ich ebenfalls nicht
        value           = wa_rows-Feld1
     IMPORTING
        msgid           = wa_output-msgid
        msgty           = wa_output-msgty
        msgno           = wa_output-msgno
        msgv1           = wa_output-msgv1
        msgv2           = wa_output-msgv2
        msgv3           = wa_output-msgv3
        msgv4           = wa_output-msgv4
      EXCEPTIONS
        OTHERS          = 4.
    IF sy-subrc <> 0 OR NOT wa_output-msgid IS INITIAL.
* Nicht übernehmen
    ELSE.
      wa_test_excel-feld1 = wa_rows-field1.
    ENDIF.

* 2. Feld Kundennummer    
    CALL FUNCTION 'DDUT_INPUT_CHECK'
      EXPORTING
        tabname         = 'KNA1'
        fieldname       = 'KUNNR'
        value           = wa_rows-Feld2
      IMPORTING
        msgid           = wa_output-msgid
        msgty           = wa_output-msgty
        msgno           = wa_output-msgno
        msgv1           = wa_output-msgv1
        msgv2           = wa_output-msgv2
        msgv3           = wa_output-msgv3
        msgv4           = wa_output-msgv4
      EXCEPTIONS
        OTHERS          = 4.
        IF sy-subrc <> 0 OR NOT wa_output-msgid IS INITIAL.
* Nicht übernehmen
        ELSE.
        wa_test_excel-feld2 = wa_rows-field2.
        ENDIF.
Und so weiter, jetzt kann man das noch kapseln und schön machen, auf jeden Falls hast Du damit eine zuverlässige und dynamische Eingabeprüfung.

Re: Suchhilfe überprüfen

Beitrag von simethandreas (ForumUser / 26 / 0 / 0 ) »
was ist das feld "wa_output.." ?
das hab ich ja gar nicht

Re: Suchhilfe überprüfen

Beitrag von Ratazong (Specialist / 144 / 1 / 14 ) »
simethandreas hat geschrieben:was ist das feld "wa_output.." ?
das hab ich ja gar nicht
Ups, stimmt, typischer Copy&Paste-Fehler. Das sind einfach Variablen, die die Export-Message-Variablen entgegennehmen. Kannst Du eventuell bis auf die MSGID weglassen, da ich die nach dem FB noch abfragen würde.

Re: Suchhilfe überprüfen

Beitrag von simethandreas (ForumUser / 26 / 0 / 0 ) »
und wie muss ich das "wa_output-msgid " mit data anlegen?

Re: Suchhilfe überprüfen

Beitrag von Ratazong (Specialist / 144 / 1 / 14 ) »
simethandreas hat geschrieben:und wie muss ich das "wa_output-msgid " mit data anlegen?
DATA: GV_MSGID TYPE sy-msgid. "Anstelle von WA_OUTPUT

Re: Suchhilfe überprüfen

Beitrag von simethandreas (ForumUser / 26 / 0 / 0 ) »
also so?

Code: Alles auswählen.

DATA: GV_MSGID TYPE sy-msgid.
....
....
* Prüfung 1. Feld
    CALL FUNCTION 'DDUT_INPUT_CHECK'
      EXPORTING
        tabname         = 'zbc_test_excel'
        fieldname       = 'wa_test_excel_feld1'
        value           = wa_rows-field1
     IMPORTING
        msgid           = GV_MSGID-msgid
      EXCEPTIONS
        OTHERS          = 4.
    IF sy-subrc <> 0 OR NOT GV_MSGID-msgid IS INITIAL.
	"nicht übernehmen
    ELSE.
      wa_test_excel-feld1 = wa_rows-field1.
    ENDIF.
dann kommt:
the data object "gv_MSGID" has no structure and therefore no component
:(

Re: Suchhilfe überprüfen

Beitrag von Ratazong (Specialist / 144 / 1 / 14 ) »
Jep, genauso, nur halt GV_MSGID statt GV_MSGID-MSGID

Seite 1 von 1

Vergleichbare Themen

3
Antw.
4849
Views
Suchhilfe: Zwei Dynpro-Felder aus 1 Suchhilfe beschicken
von meinrad » 03.03.2006 15:24 • Verfasst in Dialogprogrammierung
4
Antw.
3144
Views
Tabellenfeld auf Existenz überprüfen
von GAST » 13.10.2005 13:06 • Verfasst in ABAP® Core
2
Antw.
537
Views
Benutzereingabe bei Sichern überprüfen
von jamyr » 28.08.2019 14:54 • Verfasst in ABAP® für Anfänger
3
Antw.
2780
Views
MARA-MATNR überprüfen
von SAPAlex » 08.04.2008 20:56 • Verfasst in ABAP® für Anfänger
1
Antw.
185
Views
Filenamen auf Umlaute oä überprüfen
von Micha_ela » 29.10.2024 19:21 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Aktuelle Forenbeiträge

Eclipse - warum/wann verwendet ihr es [nicht]
vor einer Stunde von tar 21 / 1388
Dialog-Container mit Toolbar/Status
vor 3 Stunden von DeathAndPain gelöst 22 / 2792
Daten an Tabelle binden
vor 8 Stunden von Lukas Sanders 2 / 870
Zeilenumbrüche ersetzen
vor 2 Tagen von ralf.wenzel 6 / 426

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Aktuelle Forenbeiträge

Eclipse - warum/wann verwendet ihr es [nicht]
vor einer Stunde von tar 21 / 1388
Dialog-Container mit Toolbar/Status
vor 3 Stunden von DeathAndPain gelöst 22 / 2792
Daten an Tabelle binden
vor 8 Stunden von Lukas Sanders 2 / 870
Zeilenumbrüche ersetzen
vor 2 Tagen von ralf.wenzel 6 / 426

Unbeantwortete Forenbeiträge

aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2461
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9047