Coding umbauen

Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

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

Coding umbauen

Beitrag von Gast ( / / 0 / 3 ) »
Hallo liebe Experten!

Ich muß folgendes Coding umbauen.

Ich habe in mein Programm eine select-option eingebaut. In diese soll der Benutzer die gewünschte Satzart eingeben.

Ich möchte anstatt jedesmal alles mit einer IF Anwendung abzufragen, das ganze mit einer DO Schleife lösen.

Hoffe Ihr könnt mir helfen.

Vielen vielen Dank

Robin

Code: Alles auswählen.

SELECT-OPTIONS: so_cost FOR wa_zwerb-satzart NO-EXTENSION NO INTERVALS.


FORM get_kagru.
  CLEAR flg_kagru.
  CLEAR: wa_findstruk-kagru.
  CLEAR: it_kstar, it_return.
  REFRESH: it_kstar, it_return.
  CALL FUNCTION 'BAPI_COSTELEM_GETLIST'
       EXPORTING
            coarea           = con_kokrs
            date             = sy-datum
            costelementgroup = con_cost_elem_kst
       TABLES
            costelementlist  = it_kstar
            return           = it_return.
  READ TABLE it_kstar WITH KEY cost_elem = wa_zwerb-satzart.
  IF sy-subrc IS INITIAL AND it_return[] IS INITIAL.
    wa_findstruk-kagru = con_cost_elem_kst.
  ELSE.
    CLEAR: it_kstar, it_return.
    REFRESH: it_kstar, it_return.
    CALL FUNCTION 'BAPI_COSTELEM_GETLIST'
         EXPORTING
             coarea           = con_kokrs
              date             = sy-datum
              costelementgroup = con_cost_elem_eo
         TABLES
              costelementlist  = it_kstar
              return           = it_return.
    READ TABLE it_kstar WITH KEY cost_elem = wa_zwerb-satzart.
    IF sy-subrc IS INITIAL AND it_return[] IS INITIAL.
      wa_findstruk-kagru = con_cost_elem_eo.
    ELSE.
      CLEAR: it_kstar, it_return.
      REFRESH: it_kstar, it_return.
      CALL FUNCTION 'BAPI_COSTELEM_GETLIST'
           EXPORTING
                coarea           = con_kokrs
                date             = sy-datum
                costelementgroup = con_cost_elem_crm
           TABLES
                costelementlist  = it_kstar
                return           = it_return.
      READ TABLE it_kstar WITH KEY cost_elem = wa_zwerb-satzart.
      IF sy-subrc IS INITIAL AND it_return[] IS INITIAL.
        wa_findstruk-kagru = con_cost_elem_crm.
      ENDIF.
    ENDIF.
  ENDIF.
ENDFORM.                    " get_kagru

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


Beitrag von robin1at (Specialist / 190 / 0 / 0 ) »
Hab mich vorher nicht eingeloggt. :oops:

So sieht momentan mein Coding aus.

Bei return = it_return bekomme ich einen Kurzdump.

Danke für Eure Hilfe!

Code: Alles auswählen.

FORM get_kagru.
  CLEAR flg_kagru.
  CLEAR: wa_findstruk-kagru.
  CLEAR: it_kstar, it_return.
  REFRESH: it_kstar, it_return.

  DO.

    CALL FUNCTION 'BAPI_COSTELEM_GETLIST'
         EXPORTING
              coarea           = con_kokrs
              date             = sy-datum
              costelementgroup = so_cost
         TABLES
              costelementlist  = it_kstar
              return           = it_return.
    READ TABLE it_kstar WITH KEY cost_elem = wa_zwerb-satzart.
    IF sy-subrc IS INITIAL AND it_return[] IS INITIAL.
      wa_findstruk-kagru = so_cost.
      ENDIF.
    IF so_cost = wa_zwerb-satzart.
      exit.
    ENDIF.
  ENDDO.
ENDFORM

Beitrag von black_adept (Top Expert / 4090 / 127 / 940 ) »
Und dürfte man auch erfahren, was in dem Kurzdump so drin steht?

Aber davon mal abgesehen. Aus welchem Grund verwendest du hier eine DO-Schleife?

Es gibt jetzt 2 Möglichkeiten.
Falls bein Einstieg in die FORM "so_cost" ungleich "wa_zwerb-satzart" ist, bekommst du eine Endlosschleife,

falls nicht, wird die Schleife genau 1x durchlaufen.

In beiden Fällen ist der Einsatz einer DO-ENDDO-Schleife mehr als flüssig.
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Beitrag von robin1at (Specialist / 190 / 0 / 0 ) »
Hallo Stefan!

Es sollten dann in der select option mehrere Werte eingegeben werden.

Für jeden Wert soll die Schleife durchlaufen werden.

Wie könnte ich das am besten machen? Sorry daß ich so frage, aber bin leider noch ziemlicher Anfänger.

Freue mich über jede Hilfe.

Danke

Robin

Beitrag von robin1at (Specialist / 190 / 0 / 0 ) »
Hallo Stefan!

Mein Coding stüzt zumindest nicht mehr ab.

Habe jetzt nurmehr das Problem, daß die Spalte KOSTL mit falschen Daten gefüllt ist (F003).

Was habe ich noch falsch?

Die select options lautet nun.

SELECT-OPTIONS: so_cost FOR wa_zwerb-satzart NO INTERVALS.

Damit der Benutzer die Werte eingeben kann. z.B.: kst, eo, crm. Die Liste die ich eingebe hat nur crm Daten.

Danke

Robin

Code: Alles auswählen.

FORM get_kagru.
  CLEAR flg_kagru.
  CLEAR: wa_findstruk-kagru.
  CLEAR: it_kstar, it_return.
  REFRESH: it_kstar, it_return.

data: wa_cost type kagru.

 loop at so_cost into wa_cost.

    CALL FUNCTION 'BAPI_COSTELEM_GETLIST'
         EXPORTING
              coarea           = con_kokrs
              date             = sy-datum
              costelementgroup = wa_cost
         TABLES
              costelementlist  = it_kstar
              return           = it_return.
    READ TABLE it_kstar WITH KEY cost_elem = wa_zwerb-satzart.
    IF sy-subrc IS INITIAL AND it_return[] IS INITIAL.
      wa_findstruk-kagru = wa_cost.
      ENDIF.
    IF wa_cost = wa_zwerb-satzart.
      exit.
    ENDIF.
  endloop.



* KOSTL
  PERFORM findsingle USING 'KOSTL'
                           ''.
  wa_zwerbsap-kostl = p_fval.
  IF wa_findstruk-kagru IS INITIAL.
    wa_zwerbsap-kostl = 'F003'.
  ENDIF.

Seite 1 von 1

Vergleichbare Themen

12
Antw.
7596
Views
Coding verstecken
von migrationshansel » 11.03.2007 14:34 • Verfasst in ABAP® Core
5
Antw.
2709
Views
Frage zu Coding
von Mark33 » 15.03.2012 10:40 • Verfasst in ABAP® für Anfänger
13
Antw.
8032
Views
Coding Fehler
von commolus » 15.05.2012 16:53 • Verfasst in ABAP Objects®
2
Antw.
1187
Views
Coding im Query
von chris61 » 12.09.2017 13:35 • Verfasst in ABAP® für Anfänger
6
Antw.
2671
Views
Verständnisfrage zu Coding
von Mark33 » 23.02.2012 15:22 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

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

Aktuelle Forenbeiträge

Trennen Strasse und Hausnummer
vor 42 Minuten von DeathAndPain 14 / 10736
Dialog-Container mit Toolbar/Status
vor 53 Minuten von DeathAndPain gelöst 24 / 3854
User Exit EXIT_RQCPRM10_001
vor 20 Stunden von a-dead-trousers 2 / 342
Daten an Tabelle binden
Gestern von Lukas Sanders 2 / 1393

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

Trennen Strasse und Hausnummer
vor 42 Minuten von DeathAndPain 14 / 10736
Dialog-Container mit Toolbar/Status
vor 53 Minuten von DeathAndPain gelöst 24 / 3854
User Exit EXIT_RQCPRM10_001
vor 20 Stunden von a-dead-trousers 2 / 342
Daten an Tabelle binden
Gestern von Lukas Sanders 2 / 1393

Unbeantwortete Forenbeiträge

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