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.
1395
Views
Zeilenindex in Standardtabelle performant finden
von DeathAndPain » 09.10.2018 15:16 • Verfasst in ABAP® für Anfänger
0
Antw.
1861
Views
0
Antw.
1453
Views
1
Antw.
5390
Views
View für Arbeitspläne?
von Treffnix » 12.10.2006 16:52 • Verfasst in Material Management & Produktionsplanung
21
Antw.
9894
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

IT0024 Qualifikationen CP-ID
vor 58 Minuten von ArjenR 1 / 9
Trennen Strasse und Hausnummer
vor einer Stunde von ewx 17 / 10813
Dialog-Container mit Toolbar/Status
vor einer Stunde von tar gelöst 26 / 3931
User Exit EXIT_RQCPRM10_001
vor 23 Stunden von a-dead-trousers 2 / 374

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

IT0024 Qualifikationen CP-ID
vor 58 Minuten von ArjenR 1 / 9
Trennen Strasse und Hausnummer
vor einer Stunde von ewx 17 / 10813
Dialog-Container mit Toolbar/Status
vor einer Stunde von tar gelöst 26 / 3931
User Exit EXIT_RQCPRM10_001
vor 23 Stunden von a-dead-trousers 2 / 374

Unbeantwortete Forenbeiträge

IT0024 Qualifikationen CP-ID
vor 58 Minuten von ArjenR 1 / 9
aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2954
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9545