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 / 4117 / 129 / 952 ) »
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.
7844
Views
Coding verstecken
von migrationshansel » 11.03.2007 14:34 • Verfasst in ABAP® Core
5
Antw.
2852
Views
Frage zu Coding
von Mark33 » 15.03.2012 10:40 • Verfasst in ABAP® für Anfänger
13
Antw.
8317
Views
Coding Fehler
von commolus » 15.05.2012 16:53 • Verfasst in ABAP Objects®
2
Antw.
1248
Views
Coding im Query
von chris61 » 12.09.2017 13:35 • Verfasst in ABAP® für Anfänger
6
Antw.
2830
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

Mahnung erstellen
Gestern von wreichelt 2 / 50
Absprung VA02 Position
Gestern von gs3rr4 gelöst 3 / 68
OPD Druck im SPOOL
Gestern von Manfred K. 1 / 42

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

Mahnung erstellen
Gestern von wreichelt 2 / 50
Absprung VA02 Position
Gestern von gs3rr4 gelöst 3 / 68
OPD Druck im SPOOL
Gestern von Manfred K. 1 / 42