Auslesen der Kunden

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

Auslesen der Kunden

Beitrag von cschmoel (ForumUser / 84 / 26 / 0 ) » 13. Sep 2012 17:35

Hallo :)

Kann mir bitte jemand helfen? habe diese Source hier:

Code: Alles auswählen.

DATA: lv_guid TYPE crmt_object_guid.

DATA: ls_requested_obj TYPE crmt_object_name.

DATA: lt_header_guid TYPE crmt_object_guid_tab,   "2 / kommt aus IMPORT ( CRM_ORDER_READ )
      lt_requested_obj TYPE crmt_object_name_tab, "2 >>> IMPORT
      lt_partner      TYPE crmt_partner_external_wrkt,  "2 >>> EXPORT
      lt_status       TYPE crmt_status_wrkt.  "2 / kommt aus EXPORT ( CRM_ORDER_READ )

ls_requested_obj = 'PARTNER'.
INSERT ls_requested_obj INTO TABLE lt_requested_obj.
ls_requested_obj = 'STATUS'.
INSERT ls_requested_obj INTO TABLE lt_requested_obj.

CALL FUNCTION 'CRM_ORDER_READ'
  EXPORTING
    it_header_guid       = lt_header_guid    "1
    it_requested_objects = lt_requested_obj  "1
    iv_no_auth_check     = 'X'
  IMPORTING
    et_partner           = lt_partner   "1
    et_status            = lt_status    "1
  EXCEPTIONS
    document_not_found   = 1
    error_occurred       = 2
    document_locked      = 3
    no_change_authority  = 4
    no_display_authority = 5
    no_change_allowed    = 6
    OTHERS               = 7.
IF sy-subrc <> 0.

ENDIF.

LOOP AT lt_status INTO ls_status WHERE status = 'I0005'.

 LOOP AT lt_partner INTO ls_status WHERE guid = guid.

    READ TABLE lt_partner INTO ls_partner WITH KEY guid.


  ENDLOOP.

ENDLOOP.

Ich soll hier alle Kunden auslesen die den Status auf gekündigt stehen haben???


Wie mache ich am Besten hier weiter???


Re: Auslesen der Kunden

Beitrag von Alexander D. (Expert / 670 / 27 / 81 ) » 14. Sep 2012 08:42

guten Morgen!

die Bausteine/Strukturen sind bei uns im System nicht vorhanden, daher tippe ich ein wenig im Blindflug und kann nur raten wie die Tabellen zusammenhängen :-)
Wenn ich das richtig verstehe, so liefert dir der Baustein zwei Tabellen, eine mit Partnern und eine mit passenden Stati. Der Status I0005 steht bei dir dabei für "gekündigt". Nicht klar ist mir die Definition von der Variablen guid, diese wird zwar verwendet, aber nicht in dem Code definiert. Das gleiche gilt für die Variablen ls_status und ls_partner.

Bis hin zu dem LOOP wird der Code schon seinen Dienst tun. Bei dem LOOP könnte es in etwa so aussehen:

Code: Alles auswählen.

"wir lesen nur gekündigte Stati
LOOP AT lt_status INTO ls_status WHERE status = 'I0005'.

    "zu diesen Stati lesen wir den Partner mit dem passenden Schlüssel aus LS_STATUS
    READ TABLE lt_partner INTO ls_partner WITH KEY ???.
    
    "gefundenen Partner ausgeben
    if sy-subrc = 0.
       WRITE: 'Partner ', ls_partner-MyPartnerName, ' ist gekündigt'.
       NEW-LINE.
    endif.

ENDLOOP.
genauer könnte ich es sagen, wenn ich wüsste welche Struktur die Tabellen lt_partner und lt_status haben

Folgende Benutzer bedankten sich beim Autor Alexander D. für den Beitrag:
cschmoel

schöne Grüße
Alexander

ECC 6.0 EHP 7

Seite 1 von 1

Aktuelle Forenbeiträge

Langtext zur Exception
vor 48 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 18 Stunden von LostDarkness 2 / 922
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