SAP R/3 форум ABAP консультантов
Russian ABAP Developer's Club

Home - FAQ - Search - Memberlist - Usergroups - Profile - Log in to check your private messages - Register - Log in - English
Blogs - Weblogs News

Demo: Bar Chart Control



 
Post new topic   Reply to topic    Russian ABAP Developer's Club Forum Index -> Dialog Programming -> Graphics
View previous topic :: View next topic  
Author Message
admin
Администратор
Администратор



Joined: 01 Sep 2007
Posts: 1639

PostPosted: Mon Nov 05, 2007 2:15 pm    Post subject: Demo: Bar Chart Control Reply with quote

Code:
REPORT barcocx1 MESSAGE-ID cg.

INCLUDE sgrccnst.                      "Allgemeine Konstanten der Grafik
INCLUDE lbarccon.                      "Konstanten zum Balkenplan
INCLUDE barcdata.                      "Allgemeine Datendeklarationen

* Objekttabellen zum Halten der Grafikdaten im ABAP (Verprobungen)
DATA: all_boxes     LIKE bcboxes    OCCURS 0 WITH HEADER LINE, "Boxen
      all_box_vals  LIKE bcvals     OCCURS 0 WITH HEADER LINE, "Attrib.
      all_links     LIKE bclinks    OCCURS 0 WITH HEADER LINE, "Kanten
      all_link_vals LIKE bcnvals    OCCURS 0 WITH HEADER LINE, "Kanten
      all_nodes     LIKE bcnodes    OCCURS 0 WITH HEADER LINE, "Knoten
      all_node_vals LIKE bcnvals    OCCURS 0 WITH HEADER LINE, "Attrib.
      all_positions LIKE bcposition OCCURS 0 WITH HEADER LINE. "Posit.

* Temporфre Tabellen
DATA: tmp_boxes LIKE bcboxes OCCURS 0 WITH HEADER LINE,     "Boxen
      tmp_nodes LIKE bcnodes OCCURS 0 WITH HEADER LINE.     "Knoten

* Verwendete Layertypen
DATA: BEGIN OF layer_types OCCURS 0,
        type LIKE tbcl-type,
      END OF layer_types.

* Blфttern in Selektionsdynpro
DATA: BEGIN OF scroll_tab OCCURS 0,
        flag(1) TYPE c,
      END OF scroll_tab.

* Attribute im Modifikationdynpro
DATA: vals LIKE bcvals OCCURS 0 WITH HEADER LINE.

* Excluding-Tabelle f№r CUA-Status
DATA: BEGIN OF excluding_tab OCCURS 0.
        INCLUDE STRUCTURE sgrcexclud.
DATA: END OF excluding_tab.

* Einstellungen im Optionenprofil
DATA: settings LIKE barc_set.

* Datumslinie f№r Einf№gedynpro
DATA: BEGIN OF dateline,
        chart_id   LIKE bcdatlin-chart_id,
        color_type LIKE bcdatlin-color_type,
        date LIKE  bcdatlin-date,
      END OF dateline.

* Diverse Variablen
DATA: act_box_id       LIKE bcboxes-id,
      act_node_id      LIKE bcnodes-id,
      act_link_id      LIKE bclinks-id,
      anz              TYPE i,
      anz_b            TYPE i,         "Boxen
      anz_n            TYPE i,         "Knoten
      calendar1        LIKE bccalendar-id,
      chart1           LIKE bcchart-id,
      chart2           LIKE bcchart-id,
      con_d            LIKE object_type  VALUE 'D', "Datumslinie
      con_g            LIKE object_type  VALUE 'V', "Grid
      con_r            LIKE object_type  VALUE 'R', "Ribbon
      con_s            LIKE object_type  VALUE 'S', "Section
      count            TYPE i,
      entry_act        LIKE sy-tabix,
      entry_to         LIKE sy-tabix,
      entry_new        LIKE sy-tabix,
      errno(2)         TYPE c,
      firstdate        LIKE tbcl-firstdate,
      fl               LIKE bcvals-fl,
      graph_cmd_info   LIKE bccmdinfo,
      gr_sel_field     LIKE net_graph-sel_field,
      layer_type       LIKE tbcl-type,
      layer_kind       LIKE tbcl-layer_type,
      line_count       LIKE sy-tabix,
      line_count_b     LIKE sy-tabix                VALUE 4,  "Boxen
      line_count_n     LIKE sy-tabix                VALUE 8,  "Knoten
      line_count_sel   LIKE sy-tabix                VALUE 10, "Selekt.
      line_count_val   LIKE sy-tabix                VALUE 4,  "Attrib.
      max_pos          LIKE bcposition-row_number,
      ok_code          TYPE syucomm,
      save_ok_code     LIKE ok_code,
      seconddate       LIKE tbcl-seconddate,
      section1         LIKE bcsection-id,
      section2         LIKE bcsection-id,
      section3         LIKE bcsection-id,
      symboltype       LIKE tbcl-symboltype,
      tabix            TYPE i.

*----------------------------f№r Umstellung auf OCX -------------------*
INCLUDE <ctldef>.

DATA: barc_ocx TYPE cntl_handle,
      ws(4) TYPE c,
      this_repid LIKE sy-repid,
      this_dynnr LIKE sy-dynnr.

* USAGE allowed in SAP internal test reports, only
INCLUDE applg_auto_test_init.

* Selection-screen
PARAMETER: ocx       AS CHECKBOX  DEFAULT 'X'.    "f№r OCX-Umstellung
*----------------------------f№r Umstellung auf OCX -------------------*

SELECTION-SCREEN ULINE.
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
PARAMETER: gruppe    LIKE tbcgt-prf_gruppe  DEFAULT 'DEMO',
           name      LIKE tbcgt-prf_name    DEFAULT '000000000001',
           index     LIKE tbcgt-prf_index   DEFAULT '3'.
SELECTION-SCREEN END OF BLOCK b1.

*----------------------------f№r Umstellung auf OCX -------------------*
* Abfrage Betriebssystem des Frontends
CALL FUNCTION 'WS_QUERY'
  EXPORTING
    query          = 'WS'
  IMPORTING
    return         = ws
  EXCEPTIONS
    inv_query      = 1
    no_batch       = 2
    frontend_error = 3
    OTHERS         = 4.

IF ocx IS INITIAL OR NOT sy-subrc IS INITIAL.
  CLEAR ws.
ENDIF.

IF ws = 'WN32'.                        "Falls Windows, 32-Bit
  this_dynnr = '300'.
  this_repid = sy-repid.

* Balkenplan-Control erzeugen
  CALL FUNCTION 'BARCHART_CREATE'
    EXPORTING
      owner_repid = this_repid
      dynnr       = this_dynnr
    CHANGING
      handle      = barc_ocx.
ELSE.
  PERFORM set_cua_status. "Setzen CUA-Status und Fenstertitel
ENDIF.
*----------------------------f№r Umstellung auf OCX -------------------*

* Daten zusammenstellen
PERFORM collect_data.

IF ws = 'WN32'.                        "f№r OCX-Umstellung
*----------------------------f№r Umstellung auf OCX -------------------*
  CALL SCREEN 300.
*----------------------------f№r Umstellung auf OCX -------------------*
ELSE.                                  "f№r OCX-Umstellung
  DO.
*   Daten an Grafik №bergeben
    PERFORM graphic_pbo.

    CALL FUNCTION 'GRAPH_RECEIVE'
      IMPORTING
        errorcode         = errno
        mcode             = m_typ"Messagetyp
        rwnid             = rwnid
      EXCEPTIONS
        inv_communication = 1
        no_batch          = 2.
    IF NOT sy-subrc IS INITIAL.
      EXIT.
    ENDIF.

    CASE m_typ.
      WHEN sgrc_const-m_typ_d.  "Alle bzw. letztes Fenster geschlossen
*       Typentabellen leeren
        CALL FUNCTION 'BARC_GRAPHIC_PAI'.
        EXIT.

      WHEN space.                      "Kein g№ltiger Wert
        EXIT.

      WHEN sgrc_const-m_typ_q.         "Anderes Fenster geschlossen

      WHEN sgrc_const-m_typ_i.         "Benutzerkommando
        PERFORM user_command.
    ENDCASE.                           "case M_TYP
  ENDDO.
ENDIF.                                 "f№r OCX-Umstellung

* USAGE allowed in SAP internal test reports, only
INCLUDE applg_auto_test_form.


*---------------------------------------------------------------------*
*       FORM COLLECT_DATA                                             *
*---------------------------------------------------------------------*
*       Daten zusammenstellen                                         *
*---------------------------------------------------------------------*
FORM collect_data.

* Customizingmodus (Wizzards) aktivieren
  CALL FUNCTION 'BARC_SET_OPTIONS'
    EXPORTING
      customize = sgrc_const-yes
      EDITINLINE = sgrc_const-no.

* Grafikprofil
  graph_profile-prf_gruppe = gruppe.
  graph_profile-prf_name   = name.
  graph_profile-prf_index  = index.

* Zeitachse festlegen
  PERFORM set_time_axis USING section1 section2 section3.

* Kalender definieren
  PERFORM set_calendar USING calendar1.

* Charts festlegen
  PERFORM set_charts TABLES boxes
                            box_vals
                            positions
                     USING  act_box_id
                            chart1 chart2
                            section1 section2 section3
                            calendar1.

* Setzen der Boxen (Tabellenteil)
  PERFORM set_boxes TABLES boxes
                           box_vals
                           positions
                    USING  act_box_id
                           chart1 chart2.

* Setzen der Nodes (Diagrammteil), Daten der Balken
  PERFORM set_nodes TABLES nodes
                           node_vals
                           positions
                    USING  act_node_id
                           chart1 chart2
                           calendar1.

* Sicheren des Anfangszustandes
  CALL FUNCTION 'BARC_LOGIC'
    TABLES
      all_boxes     = all_boxes
      all_box_vals  = all_box_vals
      all_links     = all_links
      all_link_vals = all_link_vals
      all_nodes     = all_nodes
      all_node_vals = all_node_vals
      all_positions = all_positions
      boxes         = boxes
      box_vals      = box_vals
      deletions     = deletions
      links         = links
      link_vals     = link_vals
      nodes         = nodes
      node_vals     = node_vals
      positions     = positions.

  status_text = text-002.
  stat = sgrc_const-stat_1. "Open Window, Transfer Data, Wait for Input

ENDFORM.                               "COLLECT_DATA


*---------------------------------------------------------------------*
*       FORM USER_COMMAND                                             *
*---------------------------------------------------------------------*
*       Verprobungsmodul                                              *
*---------------------------------------------------------------------*
FORM user_command.

* Auswertung der Daten von der Grafik
  CALL FUNCTION 'BARC_GRAPHIC_PAI'
    EXPORTING
      control_handle = barc_ocx  "f№r Umstellung auf OCX
    IMPORTING
      graph_cmd      = graph_cmd
      graph_cmd_info = graph_cmd_info
      gr_sel_field   = gr_sel_field
      layer_type     = layer_kind
      settings       = settings
      symboltype     = symboltype
    TABLES
      boxes          = boxes
      box_vals       = box_vals
      deletions      = deletions
      links          = links
      link_vals      = link_vals
      nodes          = nodes
      node_vals      = node_vals
      positions      = positions
    EXCEPTIONS
      inv_winid      = 1.

  CLEAR: abap_cmd,
         status_text.

  stat = sgrc_const-stat_4.            "Wait for input

* Auswertung des Benutzerkommandos
  CASE graph_cmd.
*----------------------------------------------------------------------*
    WHEN bc_const-ask_for_insert.      "einf№gen
      abap_cmd = graph_cmd.

      DESCRIBE TABLE boxes LINES anz.
      IF anz <> 0.                     "Box eingef№gt
        object_type = bc_const-box_object.
      ELSE.
        DESCRIBE TABLE nodes LINES anz.
        IF anz <> 0.                   "Knoten eingef№gt
          object_type = bc_const-node_object.
        ELSE.
          DESCRIBE TABLE node_vals LINES anz.
          IF anz <0>  fl.
                fl = all_node_vals-fl.
              ENDIF.
            ENDLOOP.
            IF fl > '97'.                                 "#EC PORTABLE
              REFRESH node_vals.
              status_text = text-014.  "Kein Textindex verf№gbar

            ELSE.
              firstdate  = fl + 1.
              seconddate = fl + 2.

*             neuen Layer erzeugen
              CALL FUNCTION 'BARC_ADD_LAYER'
                EXPORTING
                  color_type   = 'L0'
                  firstdate    = firstdate
                  layer_kind   = layer_kind
                  layer_type   = layer_type
                  seconddate   = seconddate
                  symboltype   = symboltype
                EXCEPTIONS
                  invalid_type = 01.

              CHECK sy-subrc IS INITIAL.

              READ TABLE node_vals INDEX 1.
              node_vals-fl = firstdate.
              MODIFY node_vals INDEX 1.

              READ TABLE node_vals INDEX 2.
              node_vals-fl = seconddate.
              MODIFY node_vals INDEX 2.

              node_vals-fl  = bc_const-add_layer.
              node_vals-val = layer_type.
              APPEND node_vals.

              status_text = text-012.  "Layer eingef№gt
            ENDIF.                     "if FL > '97'
          ENDIF.                       "if TYPE is initial
      ENDCASE.                         "case OBJECT_TYPE

*----------------------------------------------------------------------*
    WHEN bc_const-ask_for_duplicate.   "duplizieren
      abap_cmd = graph_cmd.

*     Boxes, Nodes zwischenspeichern
      LOOP AT boxes.
        MOVE-CORRESPONDING boxes TO tmp_boxes.
        APPEND tmp_boxes.
      ENDLOOP.

      LOOP AT nodes.
        MOVE-CORRESPONDING nodes TO tmp_nodes.
        APPEND tmp_nodes.
      ENDLOOP.

      REFRESH: boxes, nodes, positions.

*     Boxen duplizieren
      LOOP AT tmp_boxes.
*       Werte der Box №bertragen
        LOOP AT all_boxes WHERE id = tmp_boxes-id.
          CLEAR boxes.
          MOVE-CORRESPONDING all_boxes TO boxes.
          act_box_id = act_box_id + 1.
          boxes-id = act_box_id.
          APPEND boxes.
          EXIT.
        ENDLOOP.                       "at ALL_BOXES

*       Attribute der Box №bertragen
        LOOP AT all_box_vals WHERE id = tmp_boxes-id.
          CLEAR box_vals.
          MOVE-CORRESPONDING all_box_vals TO box_vals.
          box_vals-id = boxes-id.
          IF box_vals-fl  = '1'.
            WRITE box_vals-id TO box_vals-val.
            CONDENSE box_vals-val NO-GAPS.
          ENDIF.
          APPEND box_vals.
        ENDLOOP.                       "at ALL_BOX_VALS

*       Position bestimmen
        PERFORM get_max_pos TABLES all_positions positions
                            USING  tmp_boxes-chart_id max_pos.
        max_pos = max_pos + 1.
        CLEAR positions.
        positions-chart_id   = tmp_boxes-chart_id.
        positions-obj_type   = bc_const-box_object.
        positions-obj_id     = boxes-id.
        positions-row_number = max_pos.
        APPEND positions.
      ENDLOOP.                         "at TMP_BOXES
      REFRESH tmp_boxes.

*     Knoten duplizieren
      LOOP AT tmp_nodes.
*       Werte des Knotens №bertragen
        LOOP AT all_nodes WHERE id = tmp_nodes-id.
          CLEAR nodes.
          MOVE-CORRESPONDING all_nodes TO nodes.
          act_node_id = act_node_id + 1.
          nodes-id = act_node_id.
          APPEND nodes.
          EXIT.
        ENDLOOP.                       "at ALL_BOXES

*       Attribute des Knotens №bertragen
        LOOP AT all_node_vals WHERE id = tmp_nodes-id.
          CLEAR node_vals.
          MOVE-CORRESPONDING all_node_vals TO node_vals.
          node_vals-id = nodes-id.
          APPEND node_vals.
        ENDLOOP.                       "at ALL_NODE_VALS

*       Position bestimmen
        PERFORM get_max_pos TABLES all_positions positions
                            USING  tmp_nodes-chart_id max_pos.
        max_pos = max_pos + 1.
        CLEAR positions.
        positions-chart_id   = tmp_nodes-chart_id.
        positions-obj_type   = bc_const-node_object.
        positions-obj_id     = nodes-id.
        positions-row_number = max_pos.
        APPEND positions.
      ENDLOOP.                         "at TMP_NODES
      REFRESH tmp_nodes.

      status_text = text-003.          "Box/Knoten dupliziert

*----------------------------------------------------------------------*
    WHEN bc_const-ask_for_connect.     "verbinden
      abap_cmd = graph_cmd.

      READ TABLE links INDEX 1.
      CHECK sy-subrc IS INITIAL.

      act_link_id = act_link_id + 1.
      links-id = act_link_id.
      MODIFY links INDEX 1.

      LOOP AT link_vals.
        link_vals-id = act_link_id.
        MODIFY link_vals.
      ENDLOOP.

*----------------------------------------------------------------------*
    WHEN bc_const-ask_for_modify.      "modifizieren
      abap_cmd = graph_cmd.

*     z.Z. nur f№r Boxen
      READ TABLE box_vals INDEX 1.
      CHECK sy-subrc IS INITIAL.

*     Feldname in Textindex umwandeln
      READ TABLE all_boxes WITH KEY box_vals-id BINARY SEARCH.
      CHECK sy-subrc IS INITIAL.

*     Verprobung
      IF  all_boxes-chart_id = chart1 AND box_vals-fl = 'c'.
        status_text = text-007.        "Werk nicht фnderbar
        REFRESH box_vals.

      ELSE.
*       Textindex ermitteln
        CALL FUNCTION 'BARC_GET_TEXTINDEX'
          EXPORTING
            box_type        = all_boxes-type
            field           = box_vals-fl
            form_type       = all_boxes-form_type
            object_type     = bc_const-box_object
          IMPORTING
            textindex       = box_vals-fl
          EXCEPTIONS
            inv_box_type    = 01
            inv_object_type = 02
            inv_winid       = 03.

        CHECK sy-subrc IS INITIAL.

        MODIFY box_vals INDEX 1.

        status_text = text-008.        "Feldinhalt geфndert
      ENDIF.                           "Verprobung

*----------------------------------------------------------------------*
    WHEN bc_const-double_click.        "doppelklicken
      abap_cmd  = bc_const-ask_for_modify.
      graph_cmd = bc_const-ask_for_modify.

      DESCRIBE TABLE boxes LINES anz.                       "Box
      IF NOT anz IS INITIAL.
        object_type = bc_const-box_object.

        READ TABLE boxes INDEX 1.
        LOOP AT all_boxes WHERE id = boxes-id.
          EXIT.
        ENDLOOP.                       "at ALL_BOXES
        MOVE-CORRESPONDING all_boxes TO boxes.
        MODIFY boxes INDEX 1.

        LOOP AT all_box_vals WHERE id = boxes-id.
          MOVE-CORRESPONDING all_box_vals TO box_vals.
          APPEND box_vals.
        ENDLOOP.                       "at ALL_BOX_VALS
        SORT box_vals BY fl.

        entry_act = 1.
        CALL SCREEN 100 STARTING AT 2 2 ENDING AT 53 13.

        CLEAR   boxes.
        REFRESH boxes.
      ENDIF.                           "if not ANZ is initial.

      DESCRIBE TABLE nodes LINES anz.  "Node
      IF NOT anz IS INITIAL.
        object_type = bc_const-node_object.

        READ TABLE nodes INDEX 1.
        LOOP AT all_nodes WHERE id = nodes-id.
          EXIT.
        ENDLOOP.                       "at ALL_NODES
        MOVE-CORRESPONDING all_nodes TO nodes.
        MODIFY nodes INDEX 1.

        LOOP AT all_node_vals WHERE id = nodes-id.
          MOVE-CORRESPONDING all_node_vals TO node_vals.
          APPEND node_vals.
        ENDLOOP.                       "at ALL_NODE_VALS
        SORT node_vals BY fl.

        entry_act = 1.
        CALL SCREEN 101 STARTING AT 2 2 ENDING AT 53 16.

        CLEAR   nodes.
        REFRESH nodes.
      ENDIF.                           "if not ANZ is initial.

*----------------------------------------------------------------------*
    WHEN bc_const-ask_for_delete.      "lЎschen
      abap_cmd = graph_cmd.

*----------------------------------------------------------------------*
    WHEN bc_const-ask_for_movelayer.   "Layer verschieben
      abap_cmd = graph_cmd.

*----------------------------------------------------------------------*
    WHEN bc_const-ask_for_movenode.    "Knoten verschieben
      abap_cmd = graph_cmd.

*----------------------------------------------------------------------*
    WHEN bc_const-ask_for_movemulti.   "mehrere Knoten verschieben
      abap_cmd = graph_cmd.

*----------------------------------------------------------------------*
    WHEN bc_const-ask_for_movebox.     "Box verschieben
      abap_cmd = graph_cmd.
      READ TABLE positions INDEX 1.
      CHECK sy-subrc IS INITIAL.
      READ TABLE all_boxes WITH KEY positions-obj_id.
      CHECK sy-subrc IS INITIAL.
      IF positions-chart_id <all_boxes> max_pos.
      max_pos = all_positions-row_number.
    ENDIF.
  ENDLOOP.                             "at ALL_POSITIONS

  LOOP AT positions WHERE chart_id = chart_id.
    IF positions-row_number > max_pos.
      max_pos = positions-row_number.
    ENDIF.
  ENDLOOP.                             "at POSITIONS

ENDFORM.                               " GET_MAX_POS


*---------------------------------------------------------------------*
*       FORM MAKE_NEXT_LAYER_TYPE                                     *
*---------------------------------------------------------------------*
*       Nфchsten Layertyp erzeugen                                    *
*---------------------------------------------------------------------*
FORM make_next_layer_type TABLES layer_types STRUCTURE layer_types
                          USING  profile LIKE graph_profile
                                 l_type LIKE tbcl-type.

  DATA: i    TYPE i,
        n(2) TYPE n.

  CLEAR l_type.

  DESCRIBE TABLE layer_types LINES anz.
  IF anz = 0.
*   Layertypen aus DB holen
    PERFORM get_layer_types TABLES layer_types
                            USING  profile.
  ENDIF.                                                    "if ANZ = 0

  DO.
    i = i + 1.
    IF i > 99.
      EXIT.
    ENDIF.

    n = i.
    READ TABLE layer_types WITH KEY n.
    IF NOT sy-subrc IS INITIAL.
      l_type = n.
      EXIT.
    ENDIF.
  ENDDO.

  IF NOT l_type IS INITIAL.
    layer_types-type = l_type.
    APPEND layer_types.
  ENDIF.

ENDFORM.                               "MAKE_NEXT_LAYER_TYPE


*---------------------------------------------------------------------*
*       FORM SET_CUA_STATUS.                                          *
*---------------------------------------------------------------------*
*       Pflegen der CUA-Oberflфche №ber den CUA-Painter               *
*---------------------------------------------------------------------*
FORM set_cua_status.

  DATA: prog LIKE sy-repid.

  prog = sy-repid.

* CUA-Status
  CALL FUNCTION 'GRAPH_SET_CUA_STATUS'
    EXPORTING
      program      = prog
      status       = 'GRAFIK'
    TABLES
      excluding    = excluding_tab
    EXCEPTIONS
      inv_cua_info = 01.

  REFRESH excluding_tab.

* Fenstertitel
  SET TITLEBAR '011'.

ENDFORM.                               "form SET_CUA_STATUS


*---------------------------------------------------------------------*
*       FORM SET_BOXES                                                *
*---------------------------------------------------------------------*
*       Festlegen der Boxen (Tabellenteil)                            *
*---------------------------------------------------------------------*
FORM set_boxes TABLES boxes STRUCTURE bcboxes
                      box_vals STRUCTURE bcvals
                      positions STRUCTURE bcposition
               USING  act_box_id LIKE bcboxes-id
                      chart1 LIKE bcchart-id
                      chart2 LIKE bcchart-id.

*-Boxen in Chart1 -----------------------------------------------------*
  act_box_id = act_box_id + 1.

  boxes-id         = act_box_id.
  boxes-type       = bc_const-row_box.
  boxes-chart_id   = chart1.
  boxes-form_type  = 'B3'.
  boxes-color_type = 'B1'.
  APPEND boxes.

  box_vals-id  = boxes-id.
  box_vals-fl  = '0'.
  WRITE boxes-id TO box_vals-val.
  CONDENSE box_vals-val NO-GAPS.
  APPEND box_vals.

  box_vals-fl  = '1'.
  WRITE boxes-id TO box_vals-val.
  CONDENSE box_vals-val NO-GAPS.
  APPEND box_vals.

  box_vals-fl  = '2'.
  box_vals-val = text-016.                                  "Box
  APPEND box_vals.

  box_vals-fl  = '3'.
  box_vals-val = '0001'.
  APPEND box_vals.

  positions-obj_id     = boxes-id.
  positions-obj_type   = bc_const-box_object.
  positions-chart_id   = boxes-chart_id.
  positions-row_number = 1.
  APPEND positions.


*----------------------------------------------------------------------*
  act_box_id = act_box_id + 1.

  boxes-id         = act_box_id.
  boxes-type       = bc_const-row_box.
  boxes-chart_id   = chart1.
  boxes-form_type  = 'B3'.
  boxes-color_type = 'B1'.
  APPEND boxes.

  box_vals-id  = boxes-id.
  box_vals-fl  = '0'.
  WRITE boxes-id TO box_vals-val.
  CONDENSE box_vals-val NO-GAPS.
  APPEND box_vals.

  box_vals-fl  = '1'.
  box_vals-val = boxes-id.
  CONDENSE box_vals-val NO-GAPS.
  APPEND box_vals.

  box_vals-fl  = '2'.
  box_vals-val = text-016.                                  "Box
  APPEND box_vals.

  box_vals-fl  = '3'.
  box_vals-val = '0001'.
  APPEND box_vals.

  positions-obj_id     = boxes-id.
  positions-obj_type   = bc_const-box_object.
  positions-chart_id   = boxes-chart_id.
  positions-row_number = 2.
  APPEND positions.


*----------------------------------------------------------------------*
  act_box_id = act_box_id + 1.

  boxes-id         = act_box_id.
  boxes-type       = bc_const-row_box.
  boxes-chart_id   = chart1.
  boxes-form_type  = 'B3'.
  boxes-color_type = 'B1'.
  APPEND boxes.

  box_vals-id  = boxes-id.
  box_vals-fl  = '0'.
  WRITE boxes-id TO box_vals-val.
  CONDENSE box_vals-val NO-GAPS.
  APPEND box_vals.

  box_vals-fl  = '1'.
  box_vals-val = boxes-id.
  CONDENSE box_vals-val NO-GAPS.
  APPEND box_vals.

  box_vals-fl  = '2'.
  box_vals-val = text-016.                                  "Box
  APPEND box_vals.

  box_vals-fl  = '3'.
  box_vals-val = '0001'.
  APPEND box_vals.

  positions-obj_id     = boxes-id.
  positions-obj_type   = bc_const-box_object.
  positions-chart_id   = boxes-chart_id.
  positions-row_number = 3.
  APPEND positions.


* Boxen in Chart2 -----------------------------------------------------*
  act_box_id = act_box_id + 1.

  boxes-id         = act_box_id.
  boxes-type       = bc_const-row_box.
  boxes-chart_id   = chart2.
  boxes-form_type  = 'B2'.
  boxes-color_type = 'B1'.
  APPEND boxes.

  box_vals-id  = boxes-id.
  box_vals-fl  = '0'.
  WRITE boxes-id TO box_vals-val.
  CONDENSE box_vals-val NO-GAPS.
  APPEND box_vals.

  box_vals-fl  = '1'.
  box_vals-val = boxes-id.
  CONDENSE box_vals-val NO-GAPS.
  APPEND box_vals.

  box_vals-fl  = '2'.
  box_vals-val = text-016.                                  "Box
  APPEND box_vals.

  positions-obj_id     = boxes-id.
  positions-obj_type   = bc_const-box_object.
  positions-chart_id   = boxes-chart_id.
  positions-row_number = 1.
  APPEND positions.


*----------------------------------------------------------------------*
  act_box_id = act_box_id + 1.

  boxes-id         = act_box_id.
  boxes-type       = bc_const-row_box.
  boxes-chart_id   = chart2.
  boxes-form_type  = 'B2'.
  boxes-color_type = 'B1'.
  APPEND boxes.

  box_vals-id  = boxes-id.
  box_vals-fl  = '0'.
  WRITE boxes-id TO box_vals-val.
  CONDENSE box_vals-val NO-GAPS.
  APPEND box_vals.

  box_vals-fl  = '1'.
  box_vals-val = boxes-id.
  CONDENSE box_vals-val NO-GAPS.
  APPEND box_vals.

  box_vals-fl  = '2'.
  box_vals-val = text-016.                                  "Box
  APPEND box_vals.

  positions-obj_id     = boxes-id.
  positions-obj_type   = bc_const-box_object.
  positions-chart_id   = boxes-chart_id.
  positions-row_number = 2.
  APPEND positions.

*----------------------------------------------------------------------*
  act_box_id = act_box_id + 1.

  boxes-id         = act_box_id.
  boxes-type       = bc_const-row_box.
  boxes-chart_id   = chart2.
  boxes-form_type  = 'B2'.
  boxes-color_type = 'B1'.
  APPEND boxes.

  box_vals-id  = boxes-id.
  box_vals-fl  = '0'.
  WRITE boxes-id TO box_vals-val.
  CONDENSE box_vals-val NO-GAPS.
  APPEND box_vals.

  box_vals-fl  = '1'.
  box_vals-val = boxes-id.
  CONDENSE box_vals-val NO-GAPS.
  APPEND box_vals.

  box_vals-fl  = '2'.
  box_vals-val = text-016.                                  "Box
  APPEND box_vals.

  positions-obj_id     = boxes-id.
  positions-obj_type   = bc_const-box_object.
  positions-chart_id   = boxes-chart_id.
  positions-row_number = 3.
  APPEND positions.

*----------------------------------------------------------------------*
  act_box_id = act_box_id + 1.

  boxes-id         = act_box_id.
  boxes-type       = bc_const-row_box.
  boxes-chart_id   = chart2.
  boxes-form_type  = 'B2'.
  boxes-color_type = 'B1'.
  APPEND boxes.

  box_vals-id  = boxes-id.
  box_vals-fl  = '0'.
  WRITE boxes-id TO box_vals-val.
  CONDENSE box_vals-val NO-GAPS.
  APPEND box_vals.

  box_vals-fl  = '1'.
  box_vals-val = boxes-id.
  CONDENSE box_vals-val NO-GAPS.
  APPEND box_vals.

  box_vals-fl  = '2'.
  box_vals-val = text-016.                                  "Box
  APPEND box_vals.

  positions-obj_id     = boxes-id.
  positions-obj_type   = bc_const-box_object.
  positions-chart_id   = boxes-chart_id.
  positions-row_number = 4.
  APPEND positions.

*----------------------------------------------------------------------*
  act_box_id = act_box_id + 1.

  boxes-id         = act_box_id.
  boxes-type       = bc_const-row_box.
  boxes-chart_id   = chart2.
  boxes-form_type  = 'B2'.
  boxes-color_type = 'B1'.
  APPEND boxes.

  box_vals-id  = boxes-id.
  box_vals-fl  = '0'.
  WRITE boxes-id TO box_vals-val.
  CONDENSE box_vals-val NO-GAPS.
  APPEND box_vals.

  box_vals-fl  = '1'.
  box_vals-val = boxes-id.
  CONDENSE box_vals-val NO-GAPS.
  APPEND box_vals.

  box_vals-fl  = '2'.
  box_vals-val = text-016.                                  "Box
  APPEND box_vals.

  positions-obj_id     = boxes-id.
  positions-obj_type   = bc_const-box_object.
  positions-chart_id   = boxes-chart_id.
  positions-row_number = 5.
  APPEND positions.

ENDFORM.                               "form SET_BOXES


*----------------------------------------------------------------------*
*       Form  SET_CALENDAR
*----------------------------------------------------------------------*
*       Kalender definieren                                            *
*----------------------------------------------------------------------*
FORM set_calendar USING calendar LIKE bccalendar-id.

  DATA: to1      LIKE bctimeobj-id,
        to2      LIKE bctimeobj-id,
        int1     LIKE bcinterval-id,
        prof1    LIKE bctimeprof-id,
        val      LIKE bcvals-val.

* Kalender definieren
  CALL FUNCTION 'BARC_ADD_CALENDAR'
    IMPORTING
      id = calendar.

* Frei am Wochenende -------------------------------------------------*
  CALL FUNCTION 'BARC_ADD_TIME_OBJECT'
    EXPORTING
      fl              = bc_const-day_in_week
      r_val           = bc_const-saturday
      timeobject_type = bc_const-recurrent
    IMPORTING
      id              = to1.

  CALL FUNCTION 'BARC_ADD_TIME_OBJECT'
    EXPORTING
      fl              = bc_const-day_in_week
      r_val           = bc_const-sunday
      timeobject_type = bc_const-recurrent
    IMPORTING
      id              = to2.

  CALL FUNCTION 'BARC_ADD_TIME_PROFILE'
    EXPORTING
      timeprof_type = bc_const-week
    IMPORTING
      id            = prof1.

  WRITE to1 TO val.

  CALL FUNCTION 'BARC_SET_TIME_PROFILE_ATTRIB'
    EXPORTING
      fl  = bc_const-add_nw_time
      id  = prof1
      val = val.

  WRITE to2 TO val.

  CALL FUNCTION 'BARC_SET_TIME_PROFILE_ATTRIB'
    EXPORTING
      fl  = bc_const-add_nw_time
      id  = prof1
      val = val.

  WRITE prof1 TO val.

  CALL FUNCTION 'BARC_SET_CALENDAR_ATTRIB'
    EXPORTING
      fl  = bc_const-add_profile
      id  = calendar
      val = val.

* Ferien abziehen -----------------------------------------------------*
  CALL FUNCTION 'BARC_ADD_TIME_OBJECT'
    EXPORTING
      u_val = '20.03.1999'
    IMPORTING
      id    = to1.

  CALL FUNCTION 'BARC_ADD_TIME_OBJECT'
    EXPORTING
      u_val = '10.04.1999'
    IMPORTING
      id    = to2.


  CALL FUNCTION 'BARC_ADD_INTERVAL'
    IMPORTING
      id = int1.

  WRITE to1 TO val.

  CALL FUNCTION 'BARC_SET_INTERVAL_ATTRIB'
    EXPORTING
      fl  = bc_const-interval_start
      id  = int1
      val = val.

  WRITE to2 TO val.

  CALL FUNCTION 'BARC_SET_INTERVAL_ATTRIB'
    EXPORTING
      fl  = bc_const-interval_end
      id  = int1
      val = val.


  WRITE int1 TO val.

  CALL FUNCTION 'BARC_SET_CALENDAR_ATTRIB'
    EXPORTING
      fl  = bc_const-unique_interval
      id  = calendar
      val = val.

ENDFORM.                               " SET_CALENDAR


*---------------------------------------------------------------------*
*       FORM SET_CHARTS                                               *
*---------------------------------------------------------------------*
*       Festlegen der Charts                                          *
*---------------------------------------------------------------------*
FORM set_charts TABLES boxes STRUCTURE bcboxes
                       box_vals STRUCTURE bcvals
                       positions STRUCTURE bcposition
                USING  act_box_id LIKE bcboxes-id
                       chart1 LIKE bcchart-id
                       chart2 LIKE bcchart-id
                       section1 LIKE bcsection-id
                       section2 LIKE bcsection-id
                       section3 LIKE bcsection-id
                       calendar1 LIKE bccalendar-id.

  DATA: val LIKE bcvals-val.

* Chart 1 festlegen
  CALL FUNCTION 'BARC_ADD_CHART'
    EXPORTING
      column_anz = 3
      index      = 1
      size       = 300
      chart_type = '00'
    IMPORTING
      id         = chart1
    EXCEPTIONS
      inv_winid  = 01.

* Titel
  act_box_id = act_box_id + 1.

  boxes-id         = act_box_id.
  boxes-type       = bc_const-border_box.
  boxes-chart_id   = chart1.
  boxes-form_type  = 'T1'.
  boxes-color_type = 'T0'.
  APPEND boxes.

  box_vals-id  = boxes-id.
  box_vals-fl  = '0'.
  box_vals-val = text-015.             "Ressourcen
  APPEND box_vals.

  box_vals-fl  = '1'.
  box_vals-val = text-019.             "Titel
  APPEND box_vals.

  WRITE boxes-id TO val.
  CONDENSE val NO-GAPS.

  CALL FUNCTION 'BARC_SET_CHART_ATTRIB'
    EXPORTING
      fl  = bc_const-chart_border_box
      id  = chart1
      val = val.

* ▄berschrift des Tabellenteils
  act_box_id = act_box_id + 1.

  boxes-id         = act_box_id.
  boxes-type       = bc_const-row_box.
  boxes-chart_id   = chart1.
  boxes-form_type  = 'B3'.
  boxes-color_type = 'B0'.
  APPEND boxes.

  box_vals-id  = boxes-id.
  box_vals-fl  = '0'.
  box_vals-val = text-020.             "▄berschrift Tabellenteil
  APPEND box_vals.

  box_vals-fl  = '1'.
  box_vals-val = text-021.             "Nr.
  APPEND box_vals.

  box_vals-fl  = '2'.
  box_vals-val = text-022.             "Bezeichnung
  APPEND box_vals.

  box_vals-fl  = '3'.
  box_vals-val = text-023.             "Werk
  APPEND box_vals.

  positions-obj_id     = boxes-id.
  positions-obj_type   = bc_const-box_object.
  positions-chart_id   = chart1.
  positions-row_number = 0.
  APPEND positions.

  WRITE boxes-id TO val.

  CALL FUNCTION 'BARC_SET_CHART_ATTRIB'
    EXPORTING
      id  = chart1
      fl  = bc_const-chart_title_box
      val = val.

* R№ckmeldung auf einzelnen Zeilen beim mehrfachen Verschieben
  CALL FUNCTION 'BARC_SET_CHART_ATTRIB'
    EXPORTING
      id  = chart1
      fl  = bc_const-multi_line_confirm
      val = bc_const-x.

* Breite der Spalten im Tabellenteil
  CALL FUNCTION 'BARC_SET_COLUMN_WIDTH'
    EXPORTING
      chart_id = chart1
      index    = 1
      width    = 1500.

  CALL FUNCTION 'BARC_SET_COLUMN_WIDTH'
    EXPORTING
      chart_id = chart1
      index    = 2
      width    = 3500.

  CALL FUNCTION 'BARC_SET_COLUMN_WIDTH'
    EXPORTING
      chart_id = chart1
      index    = 3
      width    = 2000.

* HЎhe best. Zeilen festlegen
  CALL FUNCTION 'BARC_SET_ROW_HEIGHT'
    EXPORTING
      chart_id   = chart1
      height     = 800
      row_number = 2.                                       "Zeile 2

* Ribbons in Sektionen einf№gen
  CALL FUNCTION 'BARC_ADD_RIBBON'
    EXPORTING
      chart_id   = chart1
      color_type = 'R1'
      section_id = section1
      unit       = '5'.

  CALL FUNCTION 'BARC_ADD_RIBBON'
    EXPORTING
      chart_id   = chart1
      color_type = 'R2'
      section_id = section1
      unit       = '3'.

  CALL FUNCTION 'BARC_ADD_RIBBON'
    EXPORTING
      chart_id   = chart1
      color_type = 'R3'
      section_id = section2
      unit       = '5'.

  CALL FUNCTION 'BARC_ADD_RIBBON'
    EXPORTING
      chart_id   = chart1
      color_type = 'R4'
      section_id = section2
      unit       = '3'.

  CALL FUNCTION 'BARC_ADD_RIBBON'
    EXPORTING
      chart_id   = chart1
      color_type = 'R5'
      section_id = section3
      unit       = '5'.

  CALL FUNCTION 'BARC_ADD_RIBBON'
    EXPORTING
      chart_id   = chart1
      color_type = 'R6'
      section_id = section3
      unit       = '3'.

* Grids in Sektionen einf№gen
  CALL FUNCTION 'BARC_ADD_GRID'
    EXPORTING
      calendar_id = calendar1
      chart_id    = chart1
      color_type  = 'G1'
      section_id  = section1
      grid_type   = bc_const-calendar_grid.

  CALL FUNCTION 'BARC_ADD_GRID'
    EXPORTING
      calendar_id = calendar1
      chart_id    = chart1
      color_type  = 'G2'
      section_id  = section2
      grid_type   = bc_const-calendar_grid.

  CALL FUNCTION 'BARC_ADD_GRID'
    EXPORTING
      calendar_id = calendar1
      chart_id    = chart1
      color_type  = 'G3'
      section_id  = section3
      grid_type   = bc_const-calendar_grid.


* Chart 2 --------------------------------------------------------------
  CALL FUNCTION 'BARC_ADD_CHART'
    EXPORTING
      column_anz = 2
      index      = 2
      size       = 200
      chart_type = '01'
    IMPORTING
      id         = chart2
    EXCEPTIONS
      inv_winid  = 01.

* Titel
  act_box_id = act_box_id + 1.

  boxes-id         = act_box_id.
  boxes-type       = bc_const-border_box.
  boxes-chart_id   = chart2.
  boxes-form_type  = 'T1'.
  boxes-color_type = 'T0'.
  APPEND boxes.

  box_vals-id  = boxes-id.
  box_vals-fl  = '0'.
  box_vals-val = text-024.             "Angebot
  APPEND box_vals.

  box_vals-fl  = '1'.
  box_vals-val = text-019.             "Titel
  APPEND box_vals.

  WRITE boxes-id TO val.

  CALL FUNCTION 'BARC_SET_CHART_ATTRIB'
    EXPORTING
      fl  = bc_const-chart_border_box
      id  = chart2
      val = val.

* ▄berschrift des Tabellenteils
  act_box_id = act_box_id + 1.

  boxes-id         = act_box_id.
  boxes-type       = bc_const-row_box.
  boxes-chart_id   = chart2.
  boxes-form_type  = 'B2'.
  boxes-color_type = 'B0'.
  APPEND boxes.

  box_vals-id  = boxes-id.
  box_vals-fl  = '0'.
  box_vals-val = text-020.             "▄berschrift Tabellenteil
  APPEND box_vals.

  box_vals-fl  = '1'.
  box_vals-val = 'AVO'.
  APPEND box_vals.

  box_vals-fl  = '2'.
  box_vals-val = text-022.             "Bezeichnung
  APPEND box_vals.

  positions-obj_id     = boxes-id.
  positions-obj_type   = bc_const-box_object.
  positions-chart_id   = chart2.
  positions-row_number = 0.
  APPEND positions.

  WRITE boxes-id TO val.

  CALL FUNCTION 'BARC_SET_CHART_ATTRIB'
    EXPORTING
      id  = chart2
      fl  = bc_const-chart_title_box
      val = val.

* R№ckmeldung auf einzelnen Zeilen beim mehrfachen Verschieben
  CALL FUNCTION 'BARC_SET_CHART_ATTRIB'
    EXPORTING
      id  = chart2
      fl  = bc_const-multi_line_confirm
      val = bc_const-x.

* Breite der Spalten im Tabellenteil
  CALL FUNCTION 'BARC_SET_COLUMN_WIDTH'
    EXPORTING
      chart_id = chart2
      index    = 1
      width    = 3000.

  CALL FUNCTION 'BARC_SET_COLUMN_WIDTH'
    EXPORTING
      chart_id = chart2
      index    = 2
      width    = 4000.

* HЎhe best. Zeilen festlegen
  CALL FUNCTION 'BARC_SET_ROW_HEIGHT'
    EXPORTING
      chart_id   = chart2
      height     = 1000
      row_number = 1.                                       "Zeile 1

  CALL FUNCTION 'BARC_SET_ROW_HEIGHT'
    EXPORTING
      chart_id   = chart2
      height     = 1000
      row_number = 2.                                       "Zeile 2

  CALL FUNCTION 'BARC_SET_ROW_HEIGHT'
    EXPORTING
      chart_id   = chart2
      height     = 1000
      row_number = 3.                                       "Zeile 3

* Ribbons in Sektionen einf№gen
  CALL FUNCTION 'BARC_ADD_RIBBON'
    EXPORTING
      chart_id   = chart2
      color_type = 'R6'
      section_id = section1
      unit       = '5'.

  CALL FUNCTION 'BARC_ADD_RIBBON'
    EXPORTING
      chart_id   = chart2
      color_type = 'R5'
      section_id = section1
      unit       = '3'.

  CALL FUNCTION 'BARC_ADD_RIBBON'
    EXPORTING
      chart_id   = chart2
      color_type = 'R4'
      section_id = section2
      unit       = '5'.

  CALL FUNCTION 'BARC_ADD_RIBBON'
    EXPORTING
      chart_id   = chart2
      color_type = 'R3'
      section_id = section2
      unit       = '3'.

  CALL FUNCTION 'BARC_ADD_RIBBON'
    EXPORTING
      chart_id   = chart2
      color_type = 'R2'
      section_id = section3
      unit       = '5'.

  CALL FUNCTION 'BARC_ADD_RIBBON'
    EXPORTING
      chart_id   = chart2
      color_type = 'R1'
      section_id = section3
      unit       = '3'.

* Grids in Sektionen einf№gen
  CALL FUNCTION 'BARC_ADD_GRID'
    EXPORTING
      chart_id   = chart2
      color_type = 'G1'
      section_id = section1
      unit       = '3'.

  CALL FUNCTION 'BARC_ADD_GRID'
    EXPORTING
      chart_id   = chart2
      color_type = 'G1'
      section_id = section2
      unit       = '3'.

  CALL FUNCTION 'BARC_ADD_GRID'
    EXPORTING
      chart_id   = chart2
      color_type = 'G1'
      section_id = section3
      unit       = '3'.

ENDFORM.                               "form SET_CHART
Back to top
View user's profile Send private message
admin
Администратор
Администратор



Joined: 01 Sep 2007
Posts: 1639

PostPosted: Mon Nov 05, 2007 2:35 pm    Post subject: Reply with quote

continue...
Code:

*---------------------------------------------------------------------*
*       FORM SET_NODES                                                *
*---------------------------------------------------------------------*
*       Festlegen der Knoten (Diagrammteil)                           *
*---------------------------------------------------------------------*
FORM set_nodes TABLES nodes STRUCTURE bcnodes
                      node_vals STRUCTURE bcnvals
                      positions STRUCTURE bcposition
               USING  act_node_id  LIKE bcnodes-id
                      chart1 LIKE bcchart-id
                      chart2 LIKE bcchart-id
                      calendar1 LIKE bccalendar-id.

* Knoten in Chart 1 ---------------------------------------------------*
  act_node_id = act_node_id + 1.

  nodes-id         = act_node_id.
  nodes-chart_id   = chart1.
  APPEND nodes.

  node_vals-id       = nodes-id.
  node_vals-chart_id = nodes-chart_id.
  node_vals-fl       = '0'.
  WRITE node_vals-id TO node_vals-val.
  CONDENSE node_vals-val NO-GAPS.
  APPEND node_vals.

  node_vals-fl       = '1'.
  node_vals-val      = '01.02.1999;0:00:00;'.
  APPEND node_vals.

  node_vals-fl       = '2'.
  node_vals-val      = '15.03.1999;0:00:00;'.
  APPEND node_vals.

  node_vals-fl       = '3'.
  node_vals-val      = '10.07.1999;0:00:00;'.
  APPEND node_vals.

  node_vals-fl  = bc_const-add_layer.
  node_vals-val = '07'.
  APPEND node_vals.

  node_vals-fl  = bc_const-add_layer.
  node_vals-val = '08'.
  APPEND node_vals.

  positions-obj_id     = nodes-id.
  positions-obj_type   = bc_const-node_object.
  positions-chart_id   = nodes-chart_id.
  positions-row_number = 1.
  APPEND positions.

*----------------------------------------------------------------------*
  act_node_id = act_node_id + 1.

  nodes-id         = act_node_id.
  nodes-chart_id   = chart1.
  APPEND nodes.

  node_vals-id       = nodes-id.
  node_vals-chart_id = nodes-chart_id.
  node_vals-fl       = '0'.
  WRITE node_vals-id TO node_vals-val.
  CONDENSE node_vals-val NO-GAPS.
  APPEND node_vals.

  node_vals-fl       = '1'.
  node_vals-val      = '01.02.1999;0:00:00;'.
  APPEND node_vals.

  node_vals-fl       = '2'.
  node_vals-val      = '01.04.1999;0:00:00;'.
  APPEND node_vals.

  node_vals-fl       = '3'.
  node_vals-val      = '01.06.1999;0:00:00;'.
  APPEND node_vals.

  node_vals-fl       = '4'.
  node_vals-val      = '01.08.1999;0:00:00;'.
  APPEND node_vals.

  node_vals-fl  = bc_const-add_layer.
  node_vals-val = '09'.
  APPEND node_vals.

  node_vals-fl = bc_const-add_layer.
  node_vals-val = '10'.
  APPEND node_vals.

  node_vals-fl  = bc_const-add_layer.
  node_vals-val = '11'.
  APPEND node_vals.

  positions-obj_id     = nodes-id.
  positions-obj_type   = bc_const-node_object.
  positions-chart_id   = nodes-chart_id.
  positions-row_number = 1.
  APPEND positions.

*----------------------------------------------------------------------*
  act_node_id = act_node_id + 1.

  nodes-id         = act_node_id.
  nodes-chart_id   = chart1.
  APPEND nodes.

  node_vals-id       = nodes-id.
  node_vals-chart_id = nodes-chart_id.
  node_vals-fl       = '0'.
  WRITE node_vals-id TO node_vals-val.
  CONDENSE node_vals-val NO-GAPS.
  APPEND node_vals.

  node_vals-fl       = '1'.
  node_vals-val      = '15.01.1999;8:00:05;'.
  APPEND node_vals.

  node_vals-fl       = '2'.
  node_vals-val      = '15.02.1999;9:30:10;'.
  APPEND node_vals.

  node_vals-fl  = bc_const-add_layer.
  node_vals-val = '12'.
  APPEND node_vals.

  node_vals-fl  = bc_const-set_calendar.
  node_vals-val = calendar1.
  APPEND node_vals.

  positions-obj_id     = nodes-id.
  positions-obj_type   = bc_const-node_object.
  positions-chart_id   = nodes-chart_id.
  positions-row_number = 2.
  APPEND positions.

*----------------------------------------------------------------------*
  act_node_id = act_node_id + 1.

  nodes-id         = act_node_id.
  nodes-chart_id   = chart1.
  APPEND nodes.

  node_vals-id       = nodes-id.
  node_vals-chart_id = nodes-chart_id.
  node_vals-fl       = '0'.
  WRITE node_vals-id TO node_vals-val.
  CONDENSE node_vals-val NO-GAPS.
  APPEND node_vals.

  node_vals-fl       = '1'.
  node_vals-val      = '01.04.1999;0:00:00;'.
  APPEND node_vals.

  node_vals-fl       = '2'.
  node_vals-val      = '01.05.1999;0:00:00;'.
  APPEND node_vals.

  node_vals-fl       = '3'.
  node_vals-val      = '01.06.1999;0:00:00;'.
  APPEND node_vals.

  node_vals-fl       = '4'.
  node_vals-val      = '01.07.1999;0:00:00;'.
  APPEND node_vals.

  node_vals-fl       = '5'.
  node_vals-val      = '01.08.1999;0:00:00;'.
  APPEND node_vals.

  node_vals-fl       = '6'.
  node_vals-val      = '01.09.1999;0:00:00;'.
  APPEND node_vals.

  node_vals-fl = bc_const-add_layer.
  node_vals-val = '13'.
  APPEND node_vals.

  node_vals-fl  = bc_const-add_layer.
  node_vals-val = '14'.
  APPEND node_vals.

  node_vals-fl  = bc_const-add_layer.
  node_vals-val = '15'.
  APPEND node_vals.

  node_vals-fl = bc_const-add_layer.
  node_vals-val = '16'.
  APPEND node_vals.

  node_vals-fl  = bc_const-add_layer.
  node_vals-val = '17'.
  APPEND node_vals.

  node_vals-fl  = bc_const-add_layer.
  node_vals-val = '18'.
  APPEND node_vals.

  positions-obj_id     = nodes-id.
  positions-obj_type   = bc_const-node_object.
  positions-chart_id   = nodes-chart_id.
  positions-row_number = 3.
  APPEND positions.


* Knoten in Chart 2 ---------------------------------------------------*
  act_node_id = act_node_id + 1.

  nodes-id         = act_node_id.
  nodes-chart_id   = chart2.
  APPEND nodes.

  node_vals-id       = nodes-id.
  node_vals-chart_id = nodes-chart_id.
  node_vals-fl       = '0'.
  WRITE node_vals-id TO node_vals-val.
  CONDENSE node_vals-val NO-GAPS.
  APPEND node_vals.

  node_vals-fl       = '1'.
  node_vals-val      = '01.02.1999;0:00:00;'.
  APPEND node_vals.

  node_vals-fl       = '2'.
  node_vals-val      = '20.04.1999;0:00:00;'.
  APPEND node_vals.

  node_vals-fl       = '3'.
  node_vals-val      = '10.05.1999;0:00:00;'.
  APPEND node_vals.

  node_vals-fl       = '4'.
  node_vals-val      = '10.06.1999;0:00:00;'.
  APPEND node_vals.

  node_vals-fl = bc_const-add_layer.
  node_vals-val  = '19'.                                "#EC NO_M_RISC3
  APPEND node_vals.

  node_vals-fl = bc_const-add_layer.
  node_vals-val  = '20'.
  APPEND node_vals.

  node_vals-fl = bc_const-add_layer.
  node_vals-val  = '21'.
  APPEND node_vals.

  positions-obj_id     = nodes-id.
  positions-obj_type   = bc_const-node_object.
  positions-chart_id   = nodes-chart_id.
  positions-row_number = 1.
  APPEND positions.

*----------------------------------------------------------------------*
  act_node_id = act_node_id + 1.

  nodes-id         = act_node_id.
  nodes-chart_id   = chart2.
  APPEND nodes.

  node_vals-id       = nodes-id.
  node_vals-chart_id = nodes-chart_id.
  node_vals-fl       = '0'.
  WRITE node_vals-id TO node_vals-val.
  CONDENSE node_vals-val NO-GAPS.
  APPEND node_vals.

  node_vals-fl       = '1'.
  node_vals-val      = '01.02.1999;0:00:00;'.
  APPEND node_vals.

  node_vals-fl       = '2'.
  node_vals-val      = '01.04.1999;0:00:00;'.
  APPEND node_vals.

  node_vals-fl       = '3'.
  node_vals-val      = '01.05.1999;0:00:00;'.
  APPEND node_vals.

  node_vals-fl       = '4'.
  node_vals-val      = '01.07.1999;0:00:00;'.
  APPEND node_vals.

  node_vals-fl       = bc_const-add_layer.
  node_vals-val      = '00'.
  APPEND node_vals.

  node_vals-fl       = bc_const-add_layer.
  node_vals-val      = '01'.
  APPEND node_vals.

  node_vals-fl       = bc_const-add_layer.
  node_vals-val      = '02'.
  APPEND node_vals.

  positions-obj_id     = nodes-id.
  positions-obj_type   = bc_const-node_object.
  positions-chart_id   = nodes-chart_id.
  positions-row_number = 2.
  APPEND positions.

*----------------------------------------------------------------------*
  act_node_id = act_node_id + 1.

  nodes-id         = act_node_id.
  nodes-chart_id   = chart2.
  APPEND nodes.

  node_vals-id       = nodes-id.
  node_vals-chart_id = nodes-chart_id.
  node_vals-fl       = '0'.
  WRITE node_vals-id TO node_vals-val.
  CONDENSE node_vals-val NO-GAPS.
  APPEND node_vals.

  node_vals-fl       = '1'.
  node_vals-val      = '01.04.1999;0:00:00;'.
  APPEND node_vals.

  node_vals-fl       = '2'.
  node_vals-val      = '01.06.1999;0:00:00;'.
  APPEND node_vals.

  node_vals-fl       = '3'.
  node_vals-val      = '01.05.1999;0:00:00;'.
  APPEND node_vals.

  node_vals-fl       = '4'.
  node_vals-val      = '01.07.1999;0:00:00;'.
  APPEND node_vals.

  node_vals-fl       = bc_const-add_layer.
  node_vals-val      = '00'.
  APPEND node_vals.

  node_vals-fl       = bc_const-add_layer.
  node_vals-val      = '01'.
  APPEND node_vals.

  node_vals-fl       = bc_const-add_layer.
  node_vals-val      = '02'.
  APPEND node_vals.

  positions-obj_id     = nodes-id.
  positions-obj_type   = bc_const-node_object.
  positions-chart_id   = nodes-chart_id.
  positions-row_number = 3.
  APPEND positions.

*----------------------------------------------------------------------*
  act_node_id = act_node_id + 1.

  nodes-id         = act_node_id.
  nodes-chart_id   = chart2.
  APPEND nodes.

  node_vals-id       = nodes-id.
  node_vals-chart_id = nodes-chart_id.
  node_vals-fl       = '0'.
  WRITE node_vals-id TO node_vals-val.
  CONDENSE node_vals-val NO-GAPS.
  APPEND node_vals.

  node_vals-fl       = '1'.
  node_vals-val      = '01.02.1999;0:00:00;'.
  APPEND node_vals.

  node_vals-fl       = '2'.
  node_vals-val      = '01.07.1999;0:00:00;'.
  APPEND node_vals.

  node_vals-fl       = '3'.
  node_vals-val      = '01.03.1999;0:00:00;'.
  APPEND node_vals.

  node_vals-fl       = '4'.
  node_vals-val      = '01.05.1999;0:00:00;'.
  APPEND node_vals.

  node_vals-fl       = bc_const-add_layer.
  node_vals-val      = '03'.
  APPEND node_vals.

  node_vals-fl       = bc_const-add_layer.
  node_vals-val      = '04'.
  APPEND node_vals.

  node_vals-fl       = bc_const-add_layer.
  node_vals-val      = '05'.
  APPEND node_vals.

  node_vals-fl       = bc_const-add_layer.
  node_vals-val      = '06'.
  APPEND node_vals.

  positions-obj_id     = nodes-id.
  positions-obj_type   = bc_const-node_object.
  positions-chart_id   = nodes-chart_id.
  positions-row_number = 4.
  APPEND positions.

*----------------------------------------------------------------------*
  act_node_id = act_node_id + 1.

  nodes-id         = act_node_id.
  nodes-chart_id   = chart2.
  APPEND nodes.

  node_vals-id       = nodes-id.
  node_vals-chart_id = nodes-chart_id.
  node_vals-fl       = '0'.
  WRITE node_vals-id TO node_vals-val.
  CONDENSE node_vals-val NO-GAPS.
  APPEND node_vals.

  node_vals-fl       = '1'.
  node_vals-val      = '01.03.1999;0:00:00;'.
  APPEND node_vals.

  node_vals-fl       = '2'.
  node_vals-val      = '12.08.1999;12:05:45;'.
  APPEND node_vals.

  node_vals-fl       = '3'.
  node_vals-val      = '10.03.1999;0:00:00;'.
  APPEND node_vals.

  node_vals-fl       = '4'.
  node_vals-val      = '10.05.1999;0:00:00;'.
  APPEND node_vals.

  node_vals-fl       = bc_const-add_layer.
  node_vals-val      = '03'.
  APPEND node_vals.

  node_vals-fl       = bc_const-add_layer.
  node_vals-val      = '04'.
  APPEND node_vals.

  node_vals-fl       = bc_const-add_layer.
  node_vals-val      = '05'.
  APPEND node_vals.

  node_vals-fl       = bc_const-add_layer.
  node_vals-val      = '06'.
  APPEND node_vals.

  positions-obj_id     = nodes-id.
  positions-obj_type   = bc_const-node_object.
  positions-chart_id   = nodes-chart_id.
  positions-row_number = 5.
  APPEND positions.

ENDFORM.                               "form SET_NODES


*---------------------------------------------------------------------*
*       FORM SET_TIME_AXIS                                            *
*---------------------------------------------------------------------*
*       Festlegen der Zeitachse                                       *
*---------------------------------------------------------------------*
FORM set_time_axis USING section1     LIKE bcsection-id
                         section2     LIKE bcsection-id
                         section3     LIKE bcsection-id.

* Start und Ende der Zeitachse festlegen
  CALL FUNCTION 'BARC_SET_TIME_AXIS'
    EXPORTING
      start = '01.01.1999;'
      end   = '31.12.2000;'.

* Sektionen festlegen
  CALL FUNCTION 'BARC_ADD_SECTION'
    EXPORTING
      size  = 50
      start = '01.01.1999;'
      unit  = '5'
    IMPORTING
      id    = section1.

  CALL FUNCTION 'BARC_ADD_SECTION'
    EXPORTING
      size  = 100
      start = '15.03.1999;'
      unit  = '5'
    IMPORTING
      id    = section2.

  CALL FUNCTION 'BARC_ADD_SECTION'
    EXPORTING
      size  = 50
      start = '01.03.2000;'
      unit  = '5'
    IMPORTING
      id    = section3.

ENDFORM.                               "form SET_TIME_AXIS


*---------------------------------------------------------------------*
*       MODULE SET_PF-STATUS_0100 OUTPUT                              *
*---------------------------------------------------------------------*
*       Boxen фndern                                                  *
*---------------------------------------------------------------------*
MODULE set_pf-status_0100 OUTPUT.

  SET PF-STATUS 'BARC'.
  SET TITLEBAR '001'.

ENDMODULE.                             "module SET_PF-STATUS_0100


*---------------------------------------------------------------------*
*       MODULE SET_PF-STATUS_0101 OUTPUT                              *
*---------------------------------------------------------------------*
*       Knoten фndern                                                 *
*---------------------------------------------------------------------*
MODULE set_pf-status_0101 OUTPUT.

  SET PF-STATUS 'BARC'.
  SET TITLEBAR '002'.

ENDMODULE.                             "module SET_PF-STATUS_0101


*---------------------------------------------------------------------*
*       MODULE SET_PF-STATUS_0102 OUTPUT                              *
*---------------------------------------------------------------------*
*       Selektierte Onjekte anzeigen                                  *
*---------------------------------------------------------------------*
MODULE set_pf-status_0102 OUTPUT.

  SET PF-STATUS 'SELEKT'.
  SET TITLEBAR '003'.

ENDMODULE.                             "module SET_PF-STATUS_0102


*---------------------------------------------------------------------*
*       MODULE SET_PF-STATUS_0103 OUTPUT                              *
*---------------------------------------------------------------------*
*       Sectionattribute фndern                                       *
*---------------------------------------------------------------------*
MODULE set_pf-status_0103 OUTPUT.

  SET PF-STATUS 'BARC'.
  SET TITLEBAR '004'.

ENDMODULE.                             "module SET_PF-STATUS_0103


*---------------------------------------------------------------------*
*       MODULE SET_PF-STATUS_0104 OUTPUT                              *
*---------------------------------------------------------------------*
*       Ribbonattribute фndern                                        *
*---------------------------------------------------------------------*
MODULE set_pf-status_0104 OUTPUT.

  SET PF-STATUS 'BARC'.
  SET TITLEBAR '005'.

ENDMODULE.                             "module SET_PF-STATUS_0104


*---------------------------------------------------------------------*
*       MODULE SET_PF-STATUS_0105 OUTPUT                              *
*---------------------------------------------------------------------*
*       Gridattribute фndern                                          *
*---------------------------------------------------------------------*
MODULE set_pf-status_0105 OUTPUT.

  SET PF-STATUS 'BARC'.
  SET TITLEBAR '006'.

ENDMODULE.                             "module SET_PF-STATUS_0105


*---------------------------------------------------------------------*
*       MODULE SET_PF-STATUS_0106 OUTPUT                              *
*---------------------------------------------------------------------*
*       Datumslinie einf№gen                                          *
*---------------------------------------------------------------------*
MODULE set_pf-status_0106 OUTPUT.

  SET PF-STATUS 'DLINS'.
  SET TITLEBAR '007'.

ENDMODULE.                             "module SET_PF-STATUS_0106


*---------------------------------------------------------------------*
*       MODULE MODIFY_TAB_0100 INPUT                                  *
*---------------------------------------------------------------------*
*       Boxen фndern                                                  *
*---------------------------------------------------------------------*
MODULE modify_tab_0100 INPUT.

  MODIFY box_vals INDEX entry_act.

ENDMODULE.                             "module MODIFY_TAB_0100


*---------------------------------------------------------------------*
*       MODULE MODIFY_TAB_0101 INPUT                                  *
*---------------------------------------------------------------------*
*       Knoten фndern                                                 *
*---------------------------------------------------------------------*
MODULE modify_tab_0101 INPUT.

  MODIFY node_vals INDEX entry_act.

ENDMODULE.                             "module MODIFY_TAB_0101


*---------------------------------------------------------------------*
*       MODULE MODIFY_TAB_0103 INPUT                                  *
*---------------------------------------------------------------------*
*       Modifikation von Attributen                                   *
*---------------------------------------------------------------------*
MODULE modify_tab_0103 INPUT.

  MODIFY vals INDEX entry_act.

ENDMODULE.                             "module MODIFY_TAB_0103


*---------------------------------------------------------------------*
*       MODULE OK_CODE_BARC INPUT                                     *
*---------------------------------------------------------------------*
*       OK_Code-Verarbeitung in den Modifikationsdynpros              *
*---------------------------------------------------------------------*
MODULE ok_code_barc INPUT.

  save_ok_code = ok_code.
  CLEAR ok_code.

  CASE save_ok_code.
    WHEN 'UPDA'.
      CASE object_type.
        WHEN bc_const-box_object.                           "Box
          box_vals-id  = boxes-id.
          box_vals-fl  = bc_const-form_type.  "Formtyp
          box_vals-val = boxes-form_type.
          APPEND box_vals.
          box_vals-fl  = bc_const-color_type.   "Farbtyp
          box_vals-val = boxes-color_type.
          APPEND box_vals.
      ENDCASE.                         "case OBJECT_TYPE

      SET SCREEN 0.
      LEAVE SCREEN.

    WHEN 'ABBR'.
      CASE object_type.
        WHEN bc_const-box_object.                           "Box
          REFRESH box_vals.
        WHEN bc_const-node_object.     "Node
          REFRESH node_vals.
        WHEN con_d.                    "Dateline
          CLEAR dateline.
        WHEN con_g.                    "Grid
          REFRESH vals.
        WHEN con_r.                    "Ribbon
          REFRESH vals.
        WHEN con_s.                    "Section
          REFRESH vals.
      ENDCASE.                         "case OBJECT_TYPE

      SET SCREEN 0.
      LEAVE SCREEN.

    WHEN OTHERS.
      CASE object_type.
        WHEN bc_const-box_object.                           "Box
          DESCRIBE TABLE box_vals LINES entry_to.
          line_count = line_count_b.
        WHEN bc_const-node_object.     "Node
          DESCRIBE TABLE node_vals LINES entry_to.
          line_count = line_count_n.
        WHEN con_g.                    "Grid
          DESCRIBE TABLE vals LINES entry_to.
          line_count = line_count_val.
        WHEN con_r.                    "Ribbon
          DESCRIBE TABLE vals LINES entry_to.
          line_count = line_count_val.
        WHEN con_s.                    "Section
          DESCRIBE TABLE vals LINES entry_to.
          line_count = line_count_val.
      ENDCASE.                         "case OBJECT_TYPE

      CALL FUNCTION 'SCROLLING_IN_TABLE'
        EXPORTING
          entry_act             = entry_act
          entry_to              = entry_to
          last_page_full        = space
          loops                 = line_count
          ok_code               = save_ok_code
        IMPORTING
          entry_new             = entry_new
        EXCEPTIONS
          no_entry_or_page_act  = 01
          no_entry_to           = 02
          no_ok_code_or_page_go = 03.

      IF sy-subrc <> 3.
        entry_act = entry_new.
      ENDIF.
  ENDCASE.                             "case SAVE_OK_CODE

ENDMODULE.                             "module OK_CODE_BARC


*---------------------------------------------------------------------*
*       MODULE OK_CODE_0102 INPUT                                     *
*---------------------------------------------------------------------*
*       OK-Code-Verarbeitung bei selektierte Objekte anzeigen         *
*---------------------------------------------------------------------*
MODULE ok_code_0102 INPUT.

  save_ok_code = ok_code.
  CLEAR ok_code.

  CASE save_ok_code.
    WHEN 'ENTR'.
      SET SCREEN 0.
      LEAVE SCREEN.

    WHEN 'ABBR'.
      SET SCREEN 0.
      LEAVE SCREEN.

    WHEN OTHERS.
      DESCRIBE TABLE scroll_tab LINES entry_to.

      CALL FUNCTION 'SCROLLING_IN_TABLE'
        EXPORTING
          entry_act             = entry_act
          entry_to              = entry_to
          last_page_full        = space
          loops                 = line_count_sel
          ok_code               = save_ok_code
        IMPORTING
          entry_new             = entry_new
        EXCEPTIONS
          no_entry_or_page_act  = 01
          no_entry_to           = 02
          no_ok_code_or_page_go = 03.

      IF sy-subrc <3> Boxen: ─ndern
* 002 --> Knoten: ─ndern
* 003 --> Selektierte Objekte: Anzeigen
* 004 --> Sektionen: ─ndern
* 005 --> Zeitstreifen: ─ndern
* 006 --> Gitter: ─ndern
* 007 --> Datumslinie: Anlegen
* 008 --> Anwendungsbeispiel: Balkenplan
* 011 --> Balkenplan-Demo
* 001 --> _{_b_N_X: ╧_X
* 002 --> _m_[_h: ╧_X
* 003 --> 'I'Ё'_'ъ'__I_u_W_F_N_g: _╞%я
* 004 --> _Z_N_V_+_": ╧_X
* 005 --> ___╘_╘_u: ╧_X
* 006 --> _O___b_h: ╧_X
* 007 --> "·t__: "o?^
* 008 --> _A_v___P_[_V_+_"-с: -__O_%_t
* 011 --> -__O_%_t'╠_f_'_"_X_g___[_V_+_"
* 001 --> ┬╨╤█╪ч▌ы╒ ▐╤ъ╒┌ты: ╪╫▄╒▌╒▌╪╒
* 002 --> ├╫█ы: ╪╫▄╒▌╒▌╪╒
* 003 --> _ы╤р╨▌▌ы╒ ▐╤ъ╒┌ты: ▀р▐с▄▐тр
* 004 --> _ы╤▐р┌╪: ╪╫▄╒▌╒▌╪╒
* 005 --> >╒▌ты ╥р╒▄╒▌╪: ╪╫▄╒▌╒▌╪╒
* 006 --> ┴╒т┌╨: ╪╫▄╒▌╒▌╪╒
* 007 --> >╪▌╪я ╘╨ты: с▐╫╘╨▌╪╒
* 008 --> ┐р╪┌█╨╘▌▐┘ ▀р╪▄╒р: █╪▌╒┘ч╨т╨я ╘╪╨╙р╨▄▄╨
* 011 --> _╒▄▐▌стр╨ц╪я █╪▌╒┘ч╨т▐┘ ╘╪╨╙р╨▄▄ы

*Text elements
*----------------------------------------------------------
* 024 Offer
* 023 Plnt
* 022 Name
* 021 No.
* 020 Title table part
* 019 Title
* 025 No Object Selected
* 026 Not possible to move boxes between charts
* 006 Node inserted
* 005 Box inserted
* 004 Box already exists in the line
* 003 Box/node duplicated
* 002 End of loading process
* 001 Graphics Profile
* 007 Cannot change plant
* 016 Box
* 015 Resources
* 014 No free text index available
* 008 Fld content changed
* 012 Layer inserted
* 013 No free layer type available


*Selection texts
*----------------------------------------------------------
* OCX         Call as control
* NAME         Name
* INDEX         Index
* GRUPPE         Group

****************************************************************
* This file was generated by Direct Download Enterprise. *
* Please do not change it manually. *
****************************************************************
%_DYNPRO
BARCOCX1
0100
620
40
%_HEADER
BARCOCX1 0100M0100 12 51192 34 0 0 12 51 0GXD 19970724154833
%_DESCRIPTION
Change Boxes
%_FIELDS
TEXT1 CHAR 51 00 00 00 30 00 1 2 0 0 0 5 R 0 0 101 Box
ID CHAR 6 00 00 00 30 00 2 3 0 0 0 0 0 0 Ident.
BOXES-ID INT4 4 80 00 80 70 00 2 12 0 0 0 0 0 0 ____
TYPE CHAR 3 00 00 00 30 00 3 3 0 0 0 0 0 0 Cat
BOXES-TYPE CHAR 1 80 00 80 70 00 3 12 0 0 0 0 0 0 _
FORM_TYPE CHAR 7 00 00 00 30 00 3 30 0 0 0 0 0 0 Col.typ
BOXES-COLOR_TYPE CHAR 2 80 00 80 40 00 3 39 0 0 0 0 0 0 __
CHART_ID CHAR 8 00 00 00 30 00 4 3 0 0 0 0 0 0 Chart
BOXES-CHART_ID INT4 4 80 00 80 70 00 4 12 0 0 0 0 0 0 ____
COLOR_TYPE CHAR 7 00 00 00 30 00 4 30 0 0 0 0 0 0 FormTyp
BOXES-FORM_TYPE CHAR 2 80 00 80 40 00 4 39 0 0 0 0 0 0 __
TEXT2 CHAR 51 00 00 00 30 00 6 2 0 0 0 7 R 0 0 103 Field Attributes
FL CHAR 8 00 00 00 30 00 7 3 0 0 0 0 0 0 Attrib.
VAL CHAR 4 00 00 00 30 00 7 12 0 0 0 0 0 0 Val.
BOX_VALS-FL CHAR 2 80 02 88 40 00 8 3 L 102 1 4 0 0 0 __
BOX_VALS-VAL CHAR 40 80 02 80 40 00 8 12 L 102 1 4 0 0 0 ________________________________________
OK_CODE CHAR 5 80 10 00 40 00 255 5 O 0 0 0 0 0 0 _____
%_FLOWLOGIC
PROCESS BEFORE OUTPUT.

MODULE SET_PF-STATUS_0100.

LOOP AT BOX_VALS CURSOR ENTRY_ACT.
ENDLOOP.
*
PROCESS AFTER INPUT.

LOOP AT BOX_VALS.
CHAIN.
FIELD: BOX_VALS-FL,
BOX_VALS-VAL.
MODULE MODIFY_TAB_0100 ON CHAIN-REQUEST.
ENDCHAIN.
ENDLOOP.

MODULE OK_CODE_BARC.
****************************************************************
* This file was generated by Direct Download Enterprise. *
* Please do not change it manually. *
****************************************************************
%_DYNPRO
BARCOCX1
0101
620
40
%_HEADER
BARCOCX1 0101M0101 15 51192 34 0 0 15 51 0GXD 19970724154835
%_DESCRIPTION
Change Nodes
%_FIELDS
TEXT1 CHAR 51 00 00 00 30 00 1 2 0 0 0 4 R 0 0 102 Nodes
ID CHAR 6 00 00 00 30 00 2 3 0 0 0 0 0 0 Ident.
NODES-ID INT4 4 80 00 80 70 00 2 12 0 0 0 0 0 0 ____
FORM_TYPE CHAR 7 00 00 00 30 00 2 29 0 0 0 0 0 0 Col.typ
NODES-COLOR_TYPE CHAR 2 80 00 80 70 00 2 38 0 0 0 0 0 0 __
CHART_ID CHAR 8 00 00 00 30 00 3 3 0 0 0 0 0 0 Chart
NODES-CHART_ID INT4 4 80 00 80 70 00 3 12 0 0 0 0 0 0 ____
COLOR_TYPE CHAR 7 00 00 00 30 00 3 29 0 0 0 0 0 0 FormTyp
NODES-FORM_TYPE CHAR 2 80 00 80 70 00 3 38 0 0 0 0 0 0 __
TEXT2 CHAR 51 00 00 00 30 00 5 2 0 0 0 11 R 0 0 103 Attributes
FL CHAR 8 00 00 00 30 00 6 3 0 0 0 0 0 0 Attrib.
VAL CHAR 4 00 00 00 30 00 6 12 0 0 0 0 0 0 Val.
NODE_VALS-FL CHAR 2 80 02 88 40 00 7 3 L 101 1 8 0 0 0 __
NODE_VALS-VAL CHAR 40 80 02 80 40 00 7 12 L 101 1 8 0 0 0 ________________________________________
OK_CODE CHAR 5 80 10 00 40 00 255 5 O 0 0 0 0 0 0 _____
%_FLOWLOGIC
PROCESS BEFORE OUTPUT.

MODULE SET_PF-STATUS_0101.

LOOP AT NODE_VALS CURSOR ENTRY_ACT.
ENDLOOP.

*
PROCESS AFTER INPUT.

LOOP AT NODE_VALS.
CHAIN.
FIELD: NODE_VALS-FL,
NODE_VALS-VAL.
MODULE MODIFY_TAB_0101 ON CHAIN-REQUEST.
ENDCHAIN.
ENDLOOP.

MODULE OK_CODE_BARC.

****************************************************************
* This file was generated by Direct Download Enterprise. *
* Please do not change it manually. *
****************************************************************
%_DYNPRO
BARCOCX1
0102
620
40
%_HEADER
BARCOCX1 0102M0102 13 19192 34 0 0 21 83 0GXD 19970724154836
%_DESCRIPTION
Display selected objects
%_FIELDS
TEXT1 CHAR 8 00 00 00 30 00 1 4 0 0 0 13 R 0 0 103 Boxes
TEXT2 CHAR 8 00 00 00 30 00 1 13 0 0 0 13 R 0 0 105 Nodes
TEXT3 CHAR 6 00 00 00 30 00 2 5 0 0 0 0 0 0 Ident.
TEXT4 CHAR 6 00 00 00 30 00 2 14 0 0 0 0 0 0 Ident.
SCROLL_TAB-FLAG CHAR 1 80 00 80 34 00 3 2 L 101 1 10 0 0 0 0 _
BOXES-ID INT4 6 80 00 80 30 00 3 5 L 102 1 10 0 0 0 ______
NODES-ID INT4 6 80 00 80 30 00 3 14 L 104 1 10 0 0 0 ______
OK_CODE CHAR 5 80 10 00 40 00 255 5 O 0 0 0 0 0 0 _____
%_FLOWLOGIC
PROCESS BEFORE OUTPUT.

MODULE SET_PF-STATUS_0102.

LOOP AT SCROLL_TAB CURSOR ENTRY_ACT.
ENDLOOP.

LOOP AT BOXES CURSOR ENTRY_ACT.
ENDLOOP.

LOOP AT NODES CURSOR ENTRY_ACT.
ENDLOOP.

*
PROCESS AFTER INPUT.

LOOP AT SCROLL_TAB.
ENDLOOP.

LOOP AT BOXES.
ENDLOOP.

LOOP AT NODES.
ENDLOOP.

MODULE OK_CODE_0102.

****************************************************************
* This file was generated by Direct Download Enterprise. *
* Please do not change it manually. *
****************************************************************
%_DYNPRO
BARCOCX1
0103
620
40
%_HEADER
BARCOCX1 0103M0103 6 49192 34 0 0 21 83 0G D 19970724154836
%_DESCRIPTION
Change Selection
%_FIELDS
TEXT CHAR 49 00 00 00 30 00 1 2 0 0 0 0 0 0 Selection attributes
ID CHAR 2 00 00 00 30 00 2 2 0 0 0 0 0 0 ID
FL CHAR 3 00 00 00 30 00 2 7 0 0 0 0 0 0 Typ
VAL CHAR 4 00 00 00 30 00 2 11 0 0 0 0 0 0 Val.
VALS-ID INT4 4 80 00 80 40 00 3 2 L 101 1 4 0 0 0 ____
VALS-FL CHAR 2 80 02 88 40 00 3 7 L 101 1 4 0 0 0 __
VALS-VAL CHAR 40 80 02 88 40 00 3 11 L 101 1 4 0 0 0 ________________________________________
OK_CODE CHAR 4 80 10 00 40 00 255 255 O 0 0 0 0 0 0 ____
%_FLOWLOGIC
PROCESS BEFORE OUTPUT.

MODULE SET_PF-STATUS_0103.

LOOP AT VALS CURSOR ENTRY_ACT.
ENDLOOP.
*
PROCESS AFTER INPUT.

LOOP AT VALS.
CHAIN.
FIELD: VALS-ID,
VALS-FL,
VALS-VAL.
MODULE MODIFY_TAB_0103 ON CHAIN-REQUEST.
ENDCHAIN.
ENDLOOP.

MODULE OK_CODE_BARC.
****************************************************************
* This file was generated by Direct Download Enterprise. *
* Please do not change it manually. *
****************************************************************
%_DYNPRO
BARCOCX1
0104
620
40
%_HEADER
BARCOCX1 0104M0104 6 49192 34 0 0 21 83 0G D 19970724154837
%_DESCRIPTION
Change Time Strips
%_FIELDS
TEXT CHAR 49 00 00 00 30 00 1 2 0 0 0 0 0 0 Time stripe attributes
ID CHAR 2 00 00 00 30 00 2 2 0 0 0 0 0 0 ID
FL CHAR 3 00 00 00 30 00 2 7 0 0 0 0 0 0 Typ
VAL CHAR 4 00 00 00 30 00 2 11 0 0 0 0 0 0 Val.
VALS-ID INT4 4 80 00 80 40 00 3 2 L 101 1 4 0 0 0 ____
VALS-FL CHAR 2 80 02 88 40 00 3 7 L 101 1 4 0 0 0 __
VALS-VAL CHAR 40 80 02 88 40 00 3 11 L 101 1 4 0 0 0 ________________________________________
OK_CODE CHAR 4 80 10 00 40 00 255 255 O 0 0 0 0 0 0 ____
%_FLOWLOGIC
PROCESS BEFORE OUTPUT.

MODULE SET_PF-STATUS_0104.

LOOP AT VALS CURSOR ENTRY_ACT.
ENDLOOP.
*
PROCESS AFTER INPUT.

LOOP AT VALS.
CHAIN.
FIELD: VALS-ID,
VALS-FL,
VALS-VAL.
MODULE MODIFY_TAB_0103 ON CHAIN-REQUEST.
ENDCHAIN.
ENDLOOP.

MODULE OK_CODE_BARC.
****************************************************************
* This file was generated by Direct Download Enterprise. *
* Please do not change it manually. *
****************************************************************
%_DYNPRO
BARCOCX1
0105
620
40
%_HEADER
BARCOCX1 0105M0105 6 49192 34 0 0 21 83 0G D 19970724154837
%_DESCRIPTION
Change Grid
%_FIELDS
TEXT CHAR 49 00 00 00 30 00 1 2 0 0 0 0 0 0 Grid attributes
ID CHAR 2 00 00 00 30 00 2 2 0 0 0 0 0 0 ID
FL CHAR 3 00 00 00 30 00 2 7 0 0 0 0 0 0 Typ
VAL CHAR 4 00 00 00 30 00 2 11 0 0 0 0 0 0 Val.
VALS-ID INT4 4 80 00 80 40 00 3 2 L 101 1 4 0 0 0 ____
VALS-FL CHAR 2 80 02 88 40 00 3 7 L 101 1 4 0 0 0 __
VALS-VAL CHAR 40 80 02 88 40 00 3 11 L 101 1 4 0 0 0 ________________________________________
OK_CODE CHAR 4 80 10 00 40 00 255 255 O 0 0 0 0 0 0 ____
%_FLOWLOGIC
PROCESS BEFORE OUTPUT.

MODULE SET_PF-STATUS_0105.

LOOP AT VALS CURSOR ENTRY_ACT.
ENDLOOP.
*
PROCESS AFTER INPUT.

LOOP AT VALS.
CHAIN.
FIELD: VALS-ID,
VALS-FL,
VALS-VAL.
MODULE MODIFY_TAB_0103 ON CHAIN-REQUEST.
ENDCHAIN.
ENDLOOP.

MODULE OK_CODE_BARC.
****************************************************************
* This file was generated by Direct Download Enterprise. *
* Please do not change it manually. *
****************************************************************
%_DYNPRO
BARCOCX1
0106
620
40
%_HEADER
BARCOCX1 0106M0106 4 31192 34 0 0 21 83 0G D 19970724154838
%_DESCRIPTION
Create Date Line
%_FIELDS
TEXT CHAR 29 00 00 00 30 00 1 2 0 0 0 0 0 0 Date line
CHART_ID CHAR 8 00 00 00 30 00 2 2 0 0 0 0 0 0 Chart
DATELINE-CHART_ID INT4 4 80 00 88 40 00 2 13 0 0 0 0 0 0 ____
COLOR_TYPE CHAR 7 00 00 00 30 00 3 2 0 0 0 0 0 0 Col.typ
DATELINE-COLOR_TYPE CHAR 2 80 00 88 40 00 3 13 0 0 0 0 0 0 __
DATE CHAR 5 00 00 00 30 00 4 2 0 0 0 0 0 0 Date
DATELINE-DATE CHAR 20 80 00 88 40 00 4 13 0 0 0 0 0 0 ____________________
OK_CODE CHAR 4 80 10 00 40 00 255 255 O 0 0 0 0 0 0 ____
%_FLOWLOGIC
PROCESS BEFORE OUTPUT.

MODULE SET_PF-STATUS_0106.
*
PROCESS AFTER INPUT.

MODULE OK_CODE_BARC.
****************************************************************
* This file was generated by Direct Download Enterprise. *
* Please do not change it manually. *
****************************************************************
%_DYNPRO
BARCOCX1
0300
620
40
%_HEADER
BARCOCX1 0300 0300 0 0192 35 0 0 21 83 0G D 19990105104640
%_DESCRIPTION
test
%_FIELDS
OK_CODE CHAR 20 80 10 00 00 00 255 1 O 0 0 0 0 0 0 ____________________
%_FLOWLOGIC
PROCESS BEFORE OUTPUT.
MODULE GRAPHIC_PBO.
MODULE STATUS_0300.
*
PROCESS AFTER INPUT.
MODULE USER_COMMAND_0300.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Russian ABAP Developer's Club Forum Index -> Dialog Programming -> Graphics All times are GMT + 4 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


All product names are trademarks of their respective companies. SAPNET.RU websites are in no way affiliated with SAP AG.
SAP, SAP R/3, R/3 software, mySAP, ABAP, BAPI, xApps, SAP NetWeaver and any other are registered trademarks of SAP AG.
Every effort is made to ensure content integrity. Use information on this site at your own risk.