SAP BARC_GRAPHIC_PBO Function Module for Bar chart control (PBO)
BARC_GRAPHIC_PBO is a standard barc graphic pbo SAP function module available within SAP R/3 or S/4 Hana systems, depending on your version and release level. It is used for Bar chart control (PBO) processing and below is the pattern details for this FM, showing its interface including any import and export parameters, exceptions etc. there is also a full "cut and paste" ABAP pattern code example, along with implementation ABAP coding, documentation and contribution comments specific to this or related objects.
See here to view full function module documentation and code listing for barc graphic pbo FM, simply by entering the name BARC_GRAPHIC_PBO into the relevant SAP transaction such as SE37 or SE38.
Function Group: BARC
Program Name: SAPLBARC
Main Program: SAPLBARC
Appliation area: S
Release date: 07-Aug-1998
Mode(Normal, Remote etc): Normal Function Module
Update:

Function BARC_GRAPHIC_PBO pattern details
In-order to call this FM within your sap programs, simply using the below ABAP pattern details to trigger the function call...or see the full ABAP code listing at the end of this article. You can simply cut and paste this code into your ABAP progrom as it is, including variable declarations.CALL FUNCTION 'BARC_GRAPHIC_PBO'"Bar chart control (PBO).
EXPORTING
* ABAP_CMD = ' ' "Command to graphic
* START_DATE = ' ' "Start date
* STAT = ' ' "Status
* STATUS_TEXT = ' ' "Text in status line
* SUPER = ' ' "Parameter for closing windows
* WAIT_FOR_INPUT = 'X' "Indicator: Wait for input
* WINID = ' ' "Window ID
* INSTANCE = "Bar chart object
* CONFIRM = 'X' "Indicator: Confirm mode
* CONTROL_HANDLE = "Control handle
* OPEN_EDIT = "Field for edit window
* PROFILE = "Graphics profile
* PWDID = ' ' "Parent window ID
* SET_FOCUS = 'X' "Indicator: Set focus to graphic windows
* SO_CONTENTS = ' ' "Document title
* SO_SEND = ' ' "Indicator: Send graphic
TABLES
* BOXES = "Graphic object in table area (box)
* POSITIONS = "Object positions
* BOX_VALS = "Attributes of graphic objects in table area
* CURVES = "Curves
* CURVE_VALS = "Curve attributes
* DELETIONS = "Objects to be deleted
* LINKS = "Links
* LINK_VALS = "Link attributes
* NODES = "Graphic objects in graph area (nodes)
* NODE_VALS = "Attributes of graphic objects in graph area
EXCEPTIONS
ERR_IN_PROFILE = 1 INV_PROFILE = 2 INV_WINID = 3
IMPORTING Parameters details for BARC_GRAPHIC_PBO
ABAP_CMD - Command to graphic
Data type: NET_GRAPH-ABAP_CMDDefault: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)
START_DATE - Start date
Data type: BCSECTION-STARTDefault: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)
STAT - Status
Data type: NET_GRAPH-STATDefault: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)
STATUS_TEXT - Text in status line
Data type: NET_GRAPH-STATUSTEXTDefault: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)
SUPER - Parameter for closing windows
Data type: NET_GRAPH-SUPERDefault: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)
WAIT_FOR_INPUT - Indicator: Wait for input
Data type: NET_GRAPH-FLAGDefault: 'X'
Optional: Yes
Call by Reference: No ( called with pass by value option)
WINID - Window ID
Data type: NET_GRAPH-WINIDDefault: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)
INSTANCE - Bar chart object
Data type: CL_GUI_BARCHARTOptional: Yes
Call by Reference: Yes
CONFIRM - Indicator: Confirm mode
Data type: NET_SET-CONFIRMDefault: 'X'
Optional: Yes
Call by Reference: No ( called with pass by value option)
CONTROL_HANDLE - Control handle
Data type: CNTL_HANDLEOptional: Yes
Call by Reference: Yes
OPEN_EDIT - Field for edit window
Data type: BCOPENEDITOptional: Yes
Call by Reference: No ( called with pass by value option)
PROFILE - Graphics profile
Data type: BCPROFILEOptional: Yes
Call by Reference: No ( called with pass by value option)
PWDID - Parent window ID
Data type: NET_GRAPH-PWDIDDefault: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)
SET_FOCUS - Indicator: Set focus to graphic windows
Data type: NET_GRAPH-FLAGDefault: 'X'
Optional: Yes
Call by Reference: No ( called with pass by value option)
SO_CONTENTS - Document title
Data type: SOS00-S_OBJDESDefault: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)
SO_SEND - Indicator: Send graphic
Data type: NET_GRAPH-FLAGDefault: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)
TABLES Parameters details for BARC_GRAPHIC_PBO
BOXES - Graphic object in table area (box)
Data type: BCBOXESOptional: Yes
Call by Reference: No ( called with pass by value option)
POSITIONS - Object positions
Data type: BCPOSITIONOptional: Yes
Call by Reference: No ( called with pass by value option)
BOX_VALS - Attributes of graphic objects in table area
Data type: BCVALSOptional: Yes
Call by Reference: No ( called with pass by value option)
CURVES - Curves
Data type: BCCURVEOptional: Yes
Call by Reference: No ( called with pass by value option)
CURVE_VALS - Curve attributes
Data type: BCCURVVALSOptional: Yes
Call by Reference: No ( called with pass by value option)
DELETIONS - Objects to be deleted
Data type: BCDELETEOptional: Yes
Call by Reference: No ( called with pass by value option)
LINKS - Links
Data type: BCLINKSOptional: Yes
Call by Reference: No ( called with pass by value option)
LINK_VALS - Link attributes
Data type: BCNVALSOptional: Yes
Call by Reference: No ( called with pass by value option)
NODES - Graphic objects in graph area (nodes)
Data type: BCNODESOptional: Yes
Call by Reference: No ( called with pass by value option)
NODE_VALS - Attributes of graphic objects in graph area
Data type: BCNVALSOptional: Yes
Call by Reference: No ( called with pass by value option)
EXCEPTIONS details
ERR_IN_PROFILE - Error in the graphics profile
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
INV_PROFILE - Incorrect graphics profile
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
INV_WINID - Incorrect window ID
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
Copy and paste ABAP code example for BARC_GRAPHIC_PBO Function Module
The ABAP code below is a full code listing to execute function module POPUP_TO_CONFIRM including all data declarations. The code uses the original data declarations rather than the latest in-line data DECLARATION SYNTAX but I have included an ABAP code snippet at the end to show how declarations would look using the newer method of declaring data variables on the fly. This will allow you to compare and fully understand the new inline method. Please note some of the newer syntax such as the @DATA is not available until a later 4.70 service pack (SP8), which i why i have stuck to the origianl for this example.| DATA: | ||||
| lt_boxes | TYPE STANDARD TABLE OF BCBOXES, " | |||
| lv_abap_cmd | TYPE NET_GRAPH-ABAP_CMD, " SPACE | |||
| lv_err_in_profile | TYPE NET_GRAPH, " | |||
| lt_positions | TYPE STANDARD TABLE OF BCPOSITION, " | |||
| lv_start_date | TYPE BCSECTION-START, " SPACE | |||
| lv_stat | TYPE NET_GRAPH-STAT, " SPACE | |||
| lv_status_text | TYPE NET_GRAPH-STATUSTEXT, " SPACE | |||
| lv_super | TYPE NET_GRAPH-SUPER, " SPACE | |||
| lv_wait_for_input | TYPE NET_GRAPH-FLAG, " 'X' | |||
| lv_winid | TYPE NET_GRAPH-WINID, " SPACE | |||
| lv_instance | TYPE CL_GUI_BARCHART, " | |||
| lv_confirm | TYPE NET_SET-CONFIRM, " 'X' | |||
| lt_box_vals | TYPE STANDARD TABLE OF BCVALS, " | |||
| lv_inv_profile | TYPE BCVALS, " | |||
| lt_curves | TYPE STANDARD TABLE OF BCCURVE, " | |||
| lv_inv_winid | TYPE BCCURVE, " | |||
| lv_control_handle | TYPE CNTL_HANDLE, " | |||
| lv_open_edit | TYPE BCOPENEDIT, " | |||
| lt_curve_vals | TYPE STANDARD TABLE OF BCCURVVALS, " | |||
| lv_profile | TYPE BCPROFILE, " | |||
| lt_deletions | TYPE STANDARD TABLE OF BCDELETE, " | |||
| lt_links | TYPE STANDARD TABLE OF BCLINKS, " | |||
| lv_pwdid | TYPE NET_GRAPH-PWDID, " SPACE | |||
| lt_link_vals | TYPE STANDARD TABLE OF BCNVALS, " | |||
| lv_set_focus | TYPE NET_GRAPH-FLAG, " 'X' | |||
| lt_nodes | TYPE STANDARD TABLE OF BCNODES, " | |||
| lv_so_contents | TYPE SOS00-S_OBJDES, " SPACE | |||
| lv_so_send | TYPE NET_GRAPH-FLAG, " SPACE | |||
| lt_node_vals | TYPE STANDARD TABLE OF BCNVALS. " |
|   CALL FUNCTION 'BARC_GRAPHIC_PBO' "Bar chart control (PBO) |
| EXPORTING | ||
| ABAP_CMD | = lv_abap_cmd | |
| START_DATE | = lv_start_date | |
| STAT | = lv_stat | |
| STATUS_TEXT | = lv_status_text | |
| SUPER | = lv_super | |
| WAIT_FOR_INPUT | = lv_wait_for_input | |
| WINID | = lv_winid | |
| INSTANCE | = lv_instance | |
| CONFIRM | = lv_confirm | |
| CONTROL_HANDLE | = lv_control_handle | |
| OPEN_EDIT | = lv_open_edit | |
| PROFILE | = lv_profile | |
| PWDID | = lv_pwdid | |
| SET_FOCUS | = lv_set_focus | |
| SO_CONTENTS | = lv_so_contents | |
| SO_SEND | = lv_so_send | |
| TABLES | ||
| BOXES | = lt_boxes | |
| POSITIONS | = lt_positions | |
| BOX_VALS | = lt_box_vals | |
| CURVES | = lt_curves | |
| CURVE_VALS | = lt_curve_vals | |
| DELETIONS | = lt_deletions | |
| LINKS | = lt_links | |
| LINK_VALS | = lt_link_vals | |
| NODES | = lt_nodes | |
| NODE_VALS | = lt_node_vals | |
| EXCEPTIONS | ||
| ERR_IN_PROFILE = 1 | ||
| INV_PROFILE = 2 | ||
| INV_WINID = 3 | ||
| . " BARC_GRAPHIC_PBO | ||
ABAP code using 7.40 inline data declarations to call FM BARC_GRAPHIC_PBO
The below ABAP code uses the newer in-line data declarations. This allows you to see the coding differences/benefits of the later inline syntax. Please note some of the newer syntax below, such as the @DATA is not available until 4.70 EHP 8.| "SELECT single ABAP_CMD FROM NET_GRAPH INTO @DATA(ld_abap_cmd). | ||||
| DATA(ld_abap_cmd) | = ' '. | |||
| "SELECT single START FROM BCSECTION INTO @DATA(ld_start_date). | ||||
| DATA(ld_start_date) | = ' '. | |||
| "SELECT single STAT FROM NET_GRAPH INTO @DATA(ld_stat). | ||||
| DATA(ld_stat) | = ' '. | |||
| "SELECT single STATUSTEXT FROM NET_GRAPH INTO @DATA(ld_status_text). | ||||
| DATA(ld_status_text) | = ' '. | |||
| "SELECT single SUPER FROM NET_GRAPH INTO @DATA(ld_super). | ||||
| DATA(ld_super) | = ' '. | |||
| "SELECT single FLAG FROM NET_GRAPH INTO @DATA(ld_wait_for_input). | ||||
| DATA(ld_wait_for_input) | = 'X'. | |||
| "SELECT single WINID FROM NET_GRAPH INTO @DATA(ld_winid). | ||||
| DATA(ld_winid) | = ' '. | |||
| "SELECT single CONFIRM FROM NET_SET INTO @DATA(ld_confirm). | ||||
| DATA(ld_confirm) | = 'X'. | |||
| "SELECT single PWDID FROM NET_GRAPH INTO @DATA(ld_pwdid). | ||||
| DATA(ld_pwdid) | = ' '. | |||
| "SELECT single FLAG FROM NET_GRAPH INTO @DATA(ld_set_focus). | ||||
| DATA(ld_set_focus) | = 'X'. | |||
| "SELECT single S_OBJDES FROM SOS00 INTO @DATA(ld_so_contents). | ||||
| DATA(ld_so_contents) | = ' '. | |||
| "SELECT single FLAG FROM NET_GRAPH INTO @DATA(ld_so_send). | ||||
| DATA(ld_so_send) | = ' '. | |||
Search for further information about these or an SAP related objects