Arbeitspläne performant lesen

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

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
3 Beiträge • Seite 1 von 1
3 Beiträge Seite 1 von 1

Arbeitspläne performant lesen

Beitrag von Bugfix13 (ForumUser / 97 / 17 / 5 ) »
Hallo Zusammen

Gibt es einen Funktionsbaustein, mit dem ich performant Arbeitspläne auflösen kann?
Gefunden habe ich bis jetzt nur den CP_EX_PLAN_READ. Der funktioniert eigentlich wunderbar, ABER sehr langsam...
CP_EX_PLAN_READ funktioniert wunderbar für einzelne Materialnummern, bei mehreren Hundert Einträgen lässt die Laufzeit sehr zu wünschen übrig.

Weiss jemand weiter, oder komm ich besser mit dem riesigen JOIN über die Tabellen (PLPO, PLFL, PLKO, MAPL usw.) ?

Danke!

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


Re: Arbeitspläne performant lesen

Beitrag von wreichelt (Top Expert / 1046 / 30 / 192 ) »
Hallo,

es gibt für Arbeitspläne auch Logische Datenbanken. Ergänzung PNM.
Bitte prüfe da mal, dort ist die Performance immer gut.

Gruß
Wolfgang

Folgende Benutzer bedankten sich beim Autor wreichelt für den Beitrag:
Bugfix13


Re: Arbeitspläne performant lesen

Beitrag von Bugfix13 (ForumUser / 97 / 17 / 5 ) »
Danke für den Denkanstoss..

Habe aber nun eine andere Möglichkeit gefunden.. Habe die Logik der CA85N zum Auslesen kopiert.
Falls jemand mal das selbe Problem hat, hier das extrem schnelle Auslesen!!! :

Code: Alles auswählen.

  DATA: l_classes_in_workarea LIKE classes_in_workarea,
        l_mtk_selection TYPE cpsc_mtk_sel_type,
        l_tsk_selection TYPE cpsc_tsk_sel_type,
        l_opr_selection TYPE cpsc_opr_sel_type,
        l_suo_selection TYPE cpsc_suo_sel_type.

  DATA: lt_opr_class_data TYPE TABLE OF opr_class_data,
        lt_sub_opr_class_data TYPE TABLE OF opr_class_data,
        l_opr LIKE opr_class_data,
        lt_mtk_class_data TYPE TABLE OF mtk_class_data.

  l_classes_in_workarea-mtk_inarea = 'X'.
  l_classes_in_workarea-tsk_inarea = 'X'.
  l_classes_in_workarea-seq_inarea = 'X'.
  l_classes_in_workarea-opr_inarea = 'X'.
  l_classes_in_workarea-suo_inarea = 'X'. "Untervorg#nge

  "Select-Options abf#llen
  l_mtk_selection-werks = s_werks[].
  l_mtk_selection-matnr = s_matnr[].
  l_tsk_selection-plnal = s_plnal[].
  l_tsk_selection-plnnr = s_plnnr[].
  l_tsk_selection-statu = s_statu[].

  DATA: lt_plnty TYPE TABLE OF cpsc_plnty_type,
        ls_plnty TYPE cpsc_plnty_type.

  ls_plnty-low = p_plnty.
  ls_plnty-sign = 'I'.
  ls_plnty-option = 'EQ'.
  APPEND ls_plnty TO lt_plnty.

  l_tsk_selection-plnty = lt_plnty[].

  l_opr_selection-vornr = s_vornr[].
  l_opr_selection-arbpl = s_arbpl[].
  l_opr_selection-steus = s_steus[].
  l_opr_selection-ktsch = s_ktsch[].

  CALL FUNCTION 'CP_CC_S_REFRESH_DATA'
    EXCEPTIONS
      OTHERS = 1.

  CALL FUNCTION 'CP_CC_S_LOAD_COMPLEX_BY_OPR'
    EXPORTING
      i_class                        = 'P'
      i_classes_in_workarea          = l_classes_in_workarea
      i_work_area                    = ''
      i_cpsc_mtk_sel                 = l_mtk_selection
      i_cpsc_tsk_sel                 = l_tsk_selection
      i_cpsc_opr_sel                 = l_opr_selection
    EXCEPTIONS
      workarea_not_found             = 1
      workarea_wrong_type            = 2
      class_in_workarea_inconsistent = 3
      workarea_not_specified         = 4
      opr_not_found                  = 5
      no_selection_criteria          = 6
      invalid_selection_period       = 7
      key_date_required_for_ecm      = 8
      OTHERS                         = 9.

  CALL FUNCTION 'CP_CL_S_OPR_PROVIDE'
    TABLES
      e_opr_class_data = lt_opr_class_data
    EXCEPTIONS
      wrong_key        = 1
      OTHERS           = 2.

  CALL FUNCTION 'CP_CL_S_SUB_OPR_PROVIDE'
    TABLES
      c_opr_class_data = lt_sub_opr_class_data
    EXCEPTIONS
      wrong_key        = 1
      OTHERS           = 2.

  APPEND LINES OF lt_sub_opr_class_data TO lt_opr_class_data.

[ = [
] = ]

Folgende Benutzer bedankten sich beim Autor Bugfix13 für den Beitrag:
qyurryus


Seite 1 von 1

Vergleichbare Themen

1
Antw.
1387
Views
Zeilenindex in Standardtabelle performant finden
von DeathAndPain » 09.10.2018 15:16 • Verfasst in ABAP® für Anfänger
0
Antw.
1855
Views
0
Antw.
1442
Views
1
Antw.
5383
Views
View für Arbeitspläne?
von Treffnix » 12.10.2006 16:52 • Verfasst in Material Management & Produktionsplanung
21
Antw.
9879
Views
SELECT mit Bedinung aus zweiter Tabelle performant gestalten
von Leonidas » 03.05.2012 09:52 • 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

Zeilenumbrüche ersetzen
vor 3 Stunden von rob_abc 4 / 30
Dialog-Container mit Toolbar/Status
vor 23 Stunden von tar gelöst 19 / 2090
SAP Trial Version für SAP Fiori
Gestern von tar 2 / 1446

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

Zeilenumbrüche ersetzen
vor 3 Stunden von rob_abc 4 / 30
Dialog-Container mit Toolbar/Status
vor 23 Stunden von tar gelöst 19 / 2090
SAP Trial Version für SAP Fiori
Gestern von tar 2 / 1446

Unbeantwortete Forenbeiträge

Daten an Tabelle binden
Gestern von Bright4.5 1 / 510
aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2145
Hilfe bei SWEC/SWE2
letzen Monat von retsch 1 / 8741