BCP 10B Documentation Reference Manual
BCP 10B Documentation Reference Manual
BCP 10B Documentation Reference Manual
Petroleum
BCP 10B
Documentation
Reference Manual
CSP03 v00
30.09.2014
Notes
SAP, R/3, mySAP, mySAP.com, xApps, xApp, SAP NetWeaver, and other SAP products and services
mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP AG in
Germany and in several other countries all over the world. All other product and service names mentioned
are the trademarks of their respective companies.
Microsoft, Windows, SQL-Server, Powerpoint and Outlook are registered trademarks of Microsoft
Corporation.
These materials and the information therein are subject to change without notice. These materials are
provided by the company QuantityWare GmbH for informational purposes only. There is no implied
representation or warranty of any kind, and QuantityWare GmbH shall not be liable for errors or omissions
with respect to the materials provided. The only warranties for the products and services of QuantityWare
GmbH are those set forth in the express warranty statements accompanying such products and services, if
any. No statement within this document should be construed as constituting an additional warranty.
Notes .................................................................................................................................ii
1 Introduction .......................................................................................................... 1
BCP (Bulk Calculations – Petroleum) is delivered within the Bulk Calculations Solution (BCS)
and activated with a license key.
For BCP 10B this document provides:
An overview of all documentation delivered for BCP
Links to related documents
Detailed documentation for specific areas
Read this document and - depending on your project roles - the related documents carefully
before you install QuantityWare BCP 10B or start your BCP 10B implementation project.
The following BCP 10B documents are either published as a chapter of this document, or
available via the published link at one of the sub-sections of -
http://support.quantityware.com BCP Documentation:
BCS Technical Installation Documentation (SAP ERP releases 4.72 or ECC 600)
Audience: SAP basis experts performing the installation
Content: Describes the technical requirements and procedures to be followed
during the technical installation of the BCS.
Publication: Separate Document
Direct link: Technical Installation Documentation - ECC 600
Technical Installation Documentation - 4.72
3.1 Introduction
The software package BCP 10B is one important part of the overall QuantityWare solution for
the oil industries. The complete solution consists of:
QuantityWare Audit Services
QuantityWare Partner Consulting Services
QuantityWare Software Package
QuantityWare Training Services
QuantityWare Support Services
The Petroleum Measurement Cockpit (PMC) is the single access point for measurement
specialists and technical consultants to the QuantityWare BCP solution. Here you design,
monitor, maintain and enhance complex, measurement standard based quantity conversion
implementations that run within the SAP Oil & Gas ERP system. The Petroleum Measurement
Cockpit (PMC) provides an easy-to-use user interface (UI), which is structured so that
measurement experts and technical consultants can organize their work efficiently.
After you log on to your SAP ERP system, enter transaction code
/n/QTYW/COCKPIT to launch the Petroleum Measurement Cockpit (PMC)
Make sure that the required authorization profiles / composite roles are
assigned to your user
The technical installation team must enter the BCP license via the PMC too.
Upon leaving the PMC transaction, the tab page that is active will be the one you see when you
next use the PMC.
From the PMC menu, you have access via the following menu points to relevant transactions
and information resources:
3.2.2.1 Cockpit
Enter or check the QuantityWare BCP license, read the detailed online documentation,
determine the QuantityWare support package status or navigate to the Gas Measurement
Cockpit:
The five tab strips are organized so that they group complex implementation project sub tasks
into “Task packages” and organize regular monitoring and error analysis tasks in a structured
way. The QuantityWare Project Assessment and Implementation Guidelines (PAIG)
methodology provides the underlying design logic for the PMC. For more details read the
separate PAIG documentation.
Correct UoM definitions and intra-conversion factors are the basis of all quantity conversions.
You need to ensure that all UoM are correctly defined. For example, you need to decide
whether ASTM Table 1 factors or conversion factors from other standards are to be utilized.
You also need to define whether stock quantities for a specific UoM are kept within your system.
Unit conversion calculators are available for you to utilize to test the unit of measure settings in
your system. Lists of UoM with all details are available:
QuantityWare also provides a sophisticated UoM comparison tool which allows you to compare
UoM definitions that are delivered in BC sets with UoM definitions in your system clients.
When either adding a new product line or changing conversions for existing products, the
“second task package” is the definition of the correct measurement standard, or several
standards, as well as specific rules which may apply for different countries/business contracts.
You need to compare legacy system results with available standards - a process which is
usually considerably easier when ranges of complex correction factors can be printed. During
general operations, you may also need to explain your conversion results to an independent
For the standards that provide correction and conversion factors, list printouts can be made.
(For UoM conversion factors, use the list options within tab strip “Units of Measurement”.) You
may choose to print a standard list for your specific temperature or density range directly into a
local PDF file.
You may also determine the relevant standard for a given material and plant configuration in
your productive client once the assignment and documentation of your conversion groups is
completed.
Example:
You wish to determine the relevant volume correction factor standard for your material
GASOLINE at plant AP01 and print a list of volume correction factors for that material. From tab
strip “Print Standards Lists” you choose push button “Lists for materials”:
The third and most complex task package is to decide which conversion group needs to be
assigned to your materials at which plant. Here you obtain an overview of the QuantityWare-
delivered conversion groups, organized via product groups, and inspect while cross checking,
the settings. You have several selection choices to determine which template conversion group
fits your requirements.
Example: You require a list of all crude oil template conversion groups which are configured to
use ASTM D1250-04 temperature corrections and API MPMS Chapter 11.5.1 (°API) weight to
From this list, you can display detailed customizing settings that are relevant for each
conversion group by simply clicking individual overview fields.
Once you have identified the relevant conversion group, copy it as recommended to your name
space (from “Q*” to “Z*”) using the appropriate customizing option; access is provided via the
menu path: Goto -> QuantityWare IMG or directly: Goto -> Conversion Groups.
An inspector report questions whether the transferred quantity values for your product
Gasoline98 are correct. You determine the conversion group and confirm the base condition
settings for the material; such a task is easily performed via the central material assignment list
which you generated here with one click:
In this list, you monitor that test scenarios are available and executed with status “o.k.” for all
materials, as well as the conversion group check status. You also check that snapshots are
available for all test scenarios, which you may utilize to analyze your configuration, if a scenario
reports an error.
You can also analyze your business documents in this Tab. e.g: Your sales manager reports
that a customer has issued a complaint which he traced back to a material document. You
select the “Analyze Business Document” push button, enter the material document number and
year and then simply press the “Return” key. The overall analysis result is immediately
displayed:
All conversion settings need rigorous testing and quality control. The QuantityWare installation
test has to be executed from here (see separate BCP PAIG Documentation). You also configure
and run your own test scenarios with full logging and execution control in order to ensure full
compliance for your implementation. The PMC does not require a separate installation test. It is
the central access point to all QuantityWare test tools that are delivered with BCP 10B:
The UoM compliance analysis in client 045 is executed automatically once you execute the
installation and implementation test and the result of the analysis is stored in your database.
QuantityWare delivers validated UoM conversion factors which are utilized for the analysis and
which you may also copy for your own analysis e.g. in your productive system and client.
All test reports allow the printing of a list detailing all tests performed.
The QuantityWare Test Scenario Tool does not require any programming skills;
you simply define your expected results for a chosen conversion group and the
defined input parameters.
Detailed online documentation is available within the PMC for all relevant tools and
configuration transactions, which explains the different UoM concepts and all available tools.
3.6 Summary
The PMC provides an easy-to-use, structured, single point of access to all parties responsible
for the configuration, control and development of quantity conversion policy and implementation.
The PMCs functionality brings transparency and enables the definition and realization of GRC-
promoting procedures for the “bottom-line” of an energy companies business – bulk product
movements.
4.1 Introduction
Tests can also be scheduled regularly or executed irregularly to ensure that configuration is
consistent.
A QuantityWare test scenario is an automated, conversion group based calculation, where the
calculation parameters (Scenario ID, conversion group with reading group and unit of measure
(UoM) group) and the expected calculation results (quantity values and parameters) are defined
in the system.
During a test scenario run, which you can trigger at any point in time, the system calculates the
actual results (quantity values and parameters) and compares these actual results with your
expected results. If all expected and actual results match, the scenario has been executed
without error and reports the status “green - o.k.”; otherwise the differences are reported as “red
- not o.k.” and marked as such in the details list which is printed for each scenario.
You also have the option to define a test scenario such that it runs “green –
o.k.” if a pre-defined error message is encountered. This way, you e.g.
automatically test that parameter range limits are correctly defined or that
quantity deviations are within the specified limits.
You enter these expected results when you create the test scenario in the system. During a test
scenario run, the system compares the actual results with these expected results. Since the
expected results are very sensitive to all customizing and configuration settings, you thus
ensure that all settings are stable in your system landscape and that the calculation is based on
the measurement standards and calculation models as defined during your project
implementation work.
From BCP 10B CSP01 onwards, QuantityWare delivers more than 1,100 test
scenarios as part of the BC Set template, which you can access in your BCP
template client 045.
The Customer Test Scenario Tool can be accessed via the PMC (transaction /n/qtyw/cockpit):
As shown in the screen shot above, two push buttons are available. “Run my test” and “Maintain
my test”.
You can create up to 1.000.000 test scenarios in your system. All test scenarios can be
transported to any required system and client within your system landscape. Test scenario
creation typically takes place in your quality assurance system.
If you select the “Maintain my tests” push button, you have the following options in the field
“Activity”:
Display scenarios
Create scenarios
Copy scenarios
Change scenarios
Delete scenarios
Export scenarios (customizing request)
Analyze scenarios
Analyze logs
If you select this activity, you choose a range of scenarios that will be listed:
You can inspect the scenario details by clicking on a single scenario number or application ID:
Enter the Scenario ID (four character field), a description and the conversion group for the test
scenario, as well as a unit of measure group that contains the UoM for which the quantity
conversion is executed:
After you hit return the system displays the relevant parameters from the reading group that is
linked to the conversion group:
Then you change the parameter results and/or quantity results, or save the test scenario directly
by selecting the “Save” push button.
Allows you to define a range of scenarios from which you can then select individual, or multiple
scenarios for deletion:
Allows you to define a range of scenarios from which you can then select individual, or multiple
scenarios for inclusion into a customizing transport into another client or system within your
system landscape:
Allows you to define a range of scenarios from which you can then select individual, or multiple
scenarios for error analysis. Requires that a snapshot for the scenario is available on the
snapshot database:
In this example, a different VCF setting is apparently causing the scenario to run into an error,
which you can now easily rectify.
If a test scenario runs into an error, you have to analyze the reason for the error. Here you
display and change all logs that have reported an error. You may set the log error status (none
– in process – complete – confirmed) and write a comment line into the log:
Note that error logs may only be archived if the log status is set to “confirmed”.
If you select the “Run my tests” push button, you have the option to run all test scenarios, or
one set of user specified scenarios. Here you may also display the log of your scenario runs, set
an indicator that writes a log protocol and/or snapshot for the scenario execution results, or
maintain the log database (including archiving of log data) for your historic log protocols:
The results of each scenario run are listed as shown in the next screen print:
Note: all these activities require a careful semi-manual procedure where you
calculate your expected results independently from the system results and use
at least a four eyes principle to validate your results.
4.7 Summary
The QuantityWare Test Scenario Tool provides easy-to-use management functions for all of
your important quantity conversion test scenarios. With these scenarios, you can continuously
monitor and check the correctness of your productive BCP implementations, thus providing
maximum security and stability for all logistics processes, which rely on accurate and well
defined quantity conversion data for bulk products. Governance, Risk Management and Control
procedures should always include such a state-of-the-art test procedure for bulk quantity
values.
5.1 Introduction
This chapter lists all customizing tables for which entries are delivered with the BCP 10B
template and provides selected technical configuration details.
QuantityWare delivers customizing configuration data (template data) as part of one BC set,
which BCP customers have to activate in one new test client (045) in order to run the
QuantityWare BCP implementation test and validate the BCP installation. Another purpose of
the template is the provision of a complete blueprint for each customer.
QuantityWare delivers language-dependent entries in English (EN), French (FR), Spanish (ES)
and Portuguese (PT) for all customizing template data which is visible to the business user.
If you require detailed information as to how to access all BCP 10B customizing data, see
Chapter 7 “BCP Customizing Transactions”.
QuantityWare strongly recommends that customers utilize the template configuration (e.g.
conversion groups) in one development system client 045 only in order to copy the required
data into their own name space (Z*) and distribute this configuration into all other clients and
systems.
QuantityWare delivers all required Unit of Measure (UoM) definitions (392 entries) and
dimension ID definitions (66 entries) as part of the template. These definitions have been
carefully checked. In addition 191 ISO/UNECE code definitions are delivered. The UoM
definitions fall into three categories:
UoM definitions which are part of the SAP client 000 template and which are not
adjusted/corrected by QuantityWare with respect to quantity conversions – SAP UoM
UoM definitions which are part of the SAP client 000 template and which are corrected
by QuantityWare with respect to quantity conversion – SAP UoM corrected
New QuantityWare UoM definitions which are not part of the SAP client 000 template –
QuantityWare UoM
The following list contains all table names for the UoM configuration for which entries are
delivered. Language-dependent table entries are delivered in English (EN), French (FR),
Spanish (ES) and Portuguese (PT):
Entries
Table Description
delivered
T006 Units of Measurement 392
T006A Assign Internal to Language-Dependent Unit 1568
T006B Assignment of commercial to internal unit of measurement 1568
T006C Assignment of external technical to internal unit of measure 1568
T006D Dimensions 66
T006D_OIB Add-On Extension for Dimensions 66
T006I ISO codes for units of measurement 191
T006J ISO Codes for Unit of Measure Texts 764
T006T Dimension Texts 264
T006_OIB Units of Measurement, Additional Definitions 392
The listed ISO / UNECE codes are delivered. QuantityWare has compared these codes with
UNECE recommendation 20 (2006) and assigned an ISO / UNECE code to all 392 SAP UoM
where a code is defined. For UoM that carry a temperature or pressure definition, the
corresponding ISO / UNECE code has also been assigned, but the primary flag is always set for
the UoM without temperature or pressure specifications:
5.2.3 Dimensions
With the BCP 10B template, 66 dimension IDs are delivered. 55 dimension IDs are identical
(when comparing relevant fields) with the SAP template - 11 dimension IDs are delivered new
by QuantityWare (marked with orange).
SURFAC area
The following UoM are delivered from the SAP UoM template which are identical to the SAP
UoM definitions with respect to quantity conversion – language-dependent texts may differ, as
well as technical key settings:
The following UoM are delivered with BCP 10B as copies from the SAP UoM template with
changes as indicated:
A UoM marked with yellow background color carries non-critical changes from a
quantity conversion point of view, however, these have to be checked (e.g. display
decimal setting)
A UoM marked with red carries critical changes from a quantity conversion point of view
83 length CM centimeter
84 length DM decimeter
85 length FT foot
86 length IN inch
87 length KM kilometer
88 length M meter
89 length MI mile
90 length MIM micrometer
91 length MM millimeter
92 length NAM nanometer
93 length YD yard
94 magnet. field dens. MTE millitesla
95 magnet. field dens. TES tesla
96 mass coverage GM2 gram per square meter
97 mass coverage KGF kilogram per square meter
98 mass flow KGS kilogram per second
99 mass or weight G gram
100 mass or weight KG kilogram
101 mass or weight KT kilotonne
102 mass or weight LB pound (avoirdupois)
103 mass or weight LTO ton, long (2240 lb)
104 mass or weight MG milligram
105 mass or weight OZ ounce (avoirdupois)
106 mass or weight STO ton, short (2000 lb)
107 mass or weight TO tonne ("metric ton" in U.S.)
108 mass proportion GKG gram per kilogram
109 mass proportion KGK kilogram per kilogram
110 mass proportion MGK milligram per kilogram
111 molar mass GM gram per mole
112 molar mass KGM kilogram per mole
113 molar volume M3M cubic meter per mole
The following QuantityWare UoM definitions are delivered with BCP 10B:
As indicated in the summary above, for all language-dependent UoM tables, entries with
translated texts for English (EN), French (FR), Spanish (ES) and Portuguese (PT) are delivered.
You access and check all UoM configuration data directly from the PMC, via tab strip “Units of
Measurement”; here you navigate to the UoM maintenance transaction “SAP units -> Maintain”
or display lists of UoM in your logon client “SAP Units -> Show” for various selection criteria. If
you select “UoM Tools –> Client/Compare, you analyze the QuantityWare BCP 10B BC set and
compare UoM delivered within that BC set with UoM definitions in any client in your system:
QuantityWare delivers the complete quantity conversion configuration as part of the template.
These definitions are maintained in SAP and QuantityWare customizing tables. In this section
we list all SAP tables for which QuantityWare delivers template configuration entries and
provide a short content description for each table. Conversion groups, reading groups, range
check groups and tolerance groups are all defined within the name range Q000 to QSZZ (see
section “Details - conversion group mapping to bulk oil & gas products” for mapping to bulk oil
products)
The following list contains all table names for which entries are delivered. Language-dependent
table entries are delivered in English (EN), French (FR), Spanish (ES) and Portuguese (PT) if
not indicated otherwise:
Delivery / Number of
Table Description
entries
OIB07 Quantity Conversion Interface Parameter 304
OIB07T Quantity Conversion Interface Parameter 1216 (4 * 302)
Quantity Conversion Interface Parameter:
OIB07_HELP 174
F1 & F4 Help
Assignment of Units between Conv. Group 953 (ONLY EN, not visible
OIB_CONV_UOM_TX
and T006 – UoM descriptions to business user)
QuantityWare conversion groups (and the associated reading groups and range groups) follow
the QuantityWare naming convention as described in the table below:
Other Standards
Natural Gas
QU* LNG – Liquefied Natural Gas – BCG
QV* Natural gas – high and low pressure pipeline – BCG
QWWW MQCI zero model conversion group - technical
Via the PMC you can display a list of all template conversion groups if you are logged on to
client 045 where the BC set /QTYW/BCP_10B has been activated:
Start the cockpit using transaction /QTYW/COCKPIT
Choose tab strip “QCI Configuration”
Select “QuantityWare delivery” (note the documentation button for further information)
QuantityWare delivers the complete quantity conversion configuration as part of the template.
These definitions are maintained in SAP and QuantityWare customizing tables. In this section
we list all QuantityWare tables for which QuantityWare delivers template configuration entries
and provide a short content description for each table.
The following list contains all table names for which entries are delivered. Language-dependent
table entries are delivered in English (EN), French (FR), Spanish (ES) and Portuguese (PT).
You access all configuration data from the PMC via the QuantityWare IMG:
5.8 Summary
6.1 Introduction
There are several ways in which quantity conversion calculations can be approached, all of
which are comprised of distinct “calculation steps”. A sequence of calculation steps, typically
including calculation procedures of measurement parameters, the conversion of different kinds
of quantities (“dimensions” in SAP terminology), as well as rounding procedures, comprise the
basic definition of the conversion model.
Different conversion models are defined in national and international measurement standards
and are in use within the oil & gas and chemicals industries.
Technically, the implementation of a specific model should be independent of the interface by
which the model-based conversion algorithms are accessed.
The standard SAP QCI (Quantity Conversion Interface) provides one calculation model which is
integrated within the technical interface. This model can be enhanced via BAdI (Business Add
In) implementations to a certain extent, but does not allow for deviation from the hard coded
SAP QCI calculation model. In addition to this, extension of the standard SAP model to include
weight and mass calculations in parallel is cumbersome and requires code modifications.
QuantityWare has developed a new model-based QCI (MQCI), which enables implementations
of any possible model, for any given quantity (weight, mass, volume, energy, liquid volume
(LNG), gross, net volumes etc.). The MQCI is seamlessly integrated into the SAP QCI and can
be either utilized in parallel with the proven SAP QCI conversion logic in any SAP Oil & Gas
system, or as the single quantity conversion model solution within your SAP Oil & Gas system,
still allowing all SAP Oil & Gas logistics business transactions to access the calculations by the
proven SAP QCI interface.
The QuantityWare MQCI is integrated via the proven SAP QCI Interface into all logistics
processes of the SAP Oil & Gas system. A conversion group is either configured to utilize the
classic SAP QCI or the advanced MQCI quantity conversion logic.
Business users will not notice any difference in the behavior of their known SAP transactions,
with two exceptions:
In classic SAP transactions running as batch input processes (BTI), a new MQCI
batch input screen will be processed. Thus, existing BTI maps may have to be
adjusted if a switch from SAP QCI to MQCI conversions for existing materials is
required. SAP OGSD processes that still utilize BTI (e.g. for data collation) may have
to be adjusted if MQCI conversion groups are utilized
With the QuantityWare BCP 10B configuration template, QuantityWare delivers more than 400
conversion groups for liquid products. For all major product lines, SAP QCI and QuantityWare
MQCI conversion groups are delivered. Depending on each customer’s requirements, SAP QCI
conversion groups or QuantityWare MQCI conversion groups can be utilized.
Example: For material COMMERCIAL BUTANE, you define twenty plants with a
SAP QCI conversion group for LPG, where the SAP QCI capabilities are
sufficient. Twelve plants utilize a QuantityWare MQCI conversion group for LPG
where you require vapor space calculations for your business processes as
well.
The technical MQCI installation is delivered with software package /QTYW/QCI. The package
contains:
function groups which implement the model based quantity conversion interface
the dialog screen for classic SAP transactions
the conversion models
MQCI functions that solve specific quantity conversion requirements (“plug and play”)
This way, SAP Oil & Gas customers that have already implemented any of the
methods of SAP BAdI OIB_QCI_ROUND_QTY do not have to merge their
implementation with the QuantityWare MQCI implementation described above.
Technically, both integration methods do not modify your system.
All current and future models are implemented via standard SAP QCI customizing table
settings. As described above, a model consists of a sequence of function module calls, which
are defined in a conversion group customizing table. This sequence is executed for each
conversion calculation to calculate a target quantity based on a set of conversion parameters
and a source quantity.
A model sequence typically consists of implementations of complex parameter calculation
functions (based on measurement standards, e.g. ASTM D1250) as well as the conversion
calculation model functions (also based on measurement standards, e.g. DIN 51650) which are
defined in the correct processing order.
This document describes the MQCI and implementations for all available conversion models.
A single conversion model can be utilized for several products, where each product may require
a different standard implementation allowing the calculation of e.g. volume correction factors or
density values.
Once new models beyond the currently available models described in this document are
available, these will be documented in an updated version of this document. However, with the
currently available basic models many different conversion models can already be configured.
As an example, integration of ASTM table 1 conversion factors is possible via customizing and
configuration of a conversion group.
Also, legacy system results that operate on fixed point arithmetic can be reproduced with a
flexible rounding model, which is part of all but the DIN 51650 model functions.
The DIN 51650 model is described in standard DIN 51650 “Testing of mineral oils and related
products – determination of quantity”. It describes the relevant conversion formulas used to
calculate a target quantity at ambient conditions from a given source quantity for the quantities
(“dimensions”):
Mass
Weight
Volume
The chemicals model is based on a linear expansion model for thermal expansion which
enables easy calculation of densities at any given temperature. Conversion between quantities
is always performed using a density at the correct temperature base. No specific volume
correction factor is involved in the conversion model – the model is implemented in two
versions: one version always utilizes observed densities for conversions between dimensions,
the second model utilizes the base densities for mass to weight /and vice versa) conversions.
The SAP QCI model is an open model based on DIN 51650 without built-in intermediate
rounding.
This model contains special functions that calculate liquid volume quantities for a vapor space
volume (within a tank of known capacity). Source volumes (liquid) are converted to weight and
mass and volume UoM, where the weight and mass UoM quantities include the vapor weight or
mass quantity. The total volume can be calculated as well. The model is defined in ASTM
D1550.
This model is identical with the ASTM D1550 Butadiene vapor model described above, but
allows configuration of an alternate (U.S.) base conversion logic. You can define non-SI UoM as
base conversion UoM.
The U.S. (United States) models contain a different conversion strategy. The above-mentioned
models (as well as the original SAP QCI model) are basically SI models. These always convert
quantities to SI units before converting these quantity values to target values (also in SI units),
and then the resulting quantities are converted to the requested target unit. While this is
acceptable for Metric quantity conversions, conversions using U.S. customary units can result in
rounding differences (typically at 6 to 7 relevant digits).
The U.S. models use alternative “SI” units, assigned to a conversion group, to convert between
volumes, weights and masses.
Example - you assign:
LBA (pound in air) as the alternate “SI” unit for weight
PPG (pound per gallon) as the alternate SI unit for density
UGL (U.S. gallon) as the alternate “SI” unit for volume
Now, all source volumes are converted to UGL, then using the PPG density conversion to
weight is performed (LBA). This way, exact conversions as expected via ASTM Tables 8 and 26
are possible.
The U.S. QCI model uses the above-described conversion logic in conjunction with the SAP
QCI model.
The U.S. chemicals model uses the above-described U.S. or alternate base UoM conversion
logic in conjunction with the Chemicals model - – the model is also implemented in two
versions, one version always utilizes observed densities for conversions between dimensions,
the second model utilizes the base densities for mass to weight /and vice versa) conversions.
This model supports all possible alternate base conversion UoM for density, mass, weight and
volume conversions. The flexibility of this model enables MQCI conversion group configurations
for all possible models that utilize a volume correction factor approach and utilize density in
vacuo and density in air data that is calculated as defined in a specific standard.
This model supports all possible alternate base conversion UoM for density, mass, weight and
volume conversions in conjunction with the inverse density approach defined in API MPMS
This model supports all possible alternate base conversion UoM for density, mass, weight and
volume conversions in conjunction with the inverse density approach defined in API MPMS
Chapter 11.5. In addition, the model supports intra conversion between 6 SAP dimensions:
Mass(product), weight(product), volume(product) and mass(alcohol), weight(alcohol) and
volume(alcohol). The flexibility of this model enables MQCI conversion group configurations for
all possible models that utilize a volume correction factor approach.
This model supports two types of conversions for solid products (e.g. sulfur), for which you want
to keep stock in several UoM in parallel. The material master standard model supports all
conversions that you define in the material master. You just assign a conversion group and
UoM group to the material master oil view (e.g. QS01 template conversion group).
Alternatively, you assign a conversion group (e.g. QS00 template conversion group), where you
can enter a variable product density.
6.4.12 LPG vapor space alternate base model (mass, weight, volume)
This model supports calculation of LPG tank vapor space volumes as defined in DIN 51650 and
ISO 6578.
6.4.13 LPG vapor space alternate base model (mass, weight, volume, energy)
This model supports calculation of LPG tank vapor space volumes as defined in DIN 51650 and
ISO 6578, as well as calculation of LPG energy values. This model is implemented in two
versions; one version utilizes the LPG base density to convert between masses, weights and
volumes, the other version utilizes the LPG observed and alternate density for the conversion.
6.4.14 Crude oil gross volume model - sediment & water – net mass & weight
This model is based on API MPMS Chapter 12.2 specifications. Indicated volumes (IV) or gross
volumes (GV) are converted to gross standard volumes (GSV) and net standard volumes (NSV)
taking into account meter factors and/or sediment and water volume % laboratory data. Masses
and weights are calculated as net values.
This model is based on API MPMS Chapter 12.2 specifications. Indicated volumes (IV) or gross
volumes (GV) are converted to gross standard volumes (GSV) and net standard volumes (NSV)
taking into account meter factors and/or sediment and water volume % laboratory data. Masses
and weights are calculated as gross values.
All MQCI models described above perform a sequence of conversion steps to convert a given
transaction quantity (volume, mass, weight) at observed conditions to a target quantity (volume,
mass, weight) at alternate conditions.
In a first step, the transaction quantity is converted to the base conversion UoM
BCU_o_dim1 (where the BCU_o_dim1 is of the dimension of the transaction quantity at
observed conditions)
This quantity value is then converted to the BCU_b_dim2 (e.g. from volume to weight
dimension) in a third step
Finally, the BCU_a_dim2 quantity value is converted in step 5 to the target UoM at
alternate conditions
BCP Example: Conversion group Q0V8 is defined at standard temperature 60 °F. Base
conversion volume UoM is BB0 (U.S. barrel, 0 decimals), Base conversion weight UoM is LTA
(long ton in air), Base conversion mass UoM is LTO (long ton in vacuum) - See the following
screen print:
Step 2: Convert the BB0 (barrel) value to standard conditions: 60 °F by applying the
correct volume correction factor
Step 4: Convert the BB0 (barrel) at 60 °F to BB0 (barrel) at 15 °C using the volume
correction factor from base to alternate conditions
Step 2: Convert the BB0 (barrel) value to standard conditions: 60 °F by applying the
correct volume correction factor
Step 3: Convert the BB0 (barrel) value at standard conditions to the base weight UoM
LTA (long ton, air) by multiplying the BB0 (barrel) value with the density in air in long ton
per barrel (base density UoM LPB (long ton per barrel)
Step 5: Convert the LTA (long ton, air) value to LBA (pound, air) using either ASTM
Table 1 factor or the SAP UoM conversion factor
As described above, the base conversion UoM for density, mass, weight and volume is defined
for each model. The SI based models always use the SI UoM as base conversion UoM.
Important for the alternate definitions is, that the base conversion UoM are consistent. If you
choose LB (pound) as mass or weight base conversion UoM, and UGL (U.S. gallon) as volume
base conversion UoM, the density base conversion UoM has to be LB/UGL =: PPG (pound per
gallon) in SAP configuration terminology.
For BCP conversion groups, you maintain the base UoM for all relevant dimensions as shown
above (Additional UoM assignment). For BCG you define the coherent base units within the
conversion group detail maintenance.
Example 1: You set “Decimal places rounding for the unit BBL to 2 (two). The
system calculates a volume of 42.227896789 BBL. Rounding leads to a
reported result of 42.23 BBL.
Within the SAP QCI, you cannot define that certain measurement parameters have to lie within
a specified range of values. An example would be the natural gas heating value. In the standard
SAP Oil & Gas system, you can enter any value between 0.00001 and 1.000.000.000 MJM
(Mega joule per cubic meter), and the system calculates volume and energy quantity values for
any heating value. Typically several parameters are required for the quantity conversion and
data entry can be cumbersome and, if not checked, lead to erroneous results which may have
considerable financial impact on your business. This is true for automated data input via SAP
BAPI as well as manual user data entry. To provide this important requirement, QuantityWare
delivers customizing tables (maintainable via transaction /QTYW/RANGES or directly from the
PMC), which contain for all delivered reading groups the relevant parameter data sets within the
configuration template (client 045) with initial values, for which data range checks can be
maintained. It is not possible to deliver the datasets with preset range values, since these
values highly depend on customer specific business process details. If you select one specific
reading group, you can select all available parameters for which the following data can be
maintained:
High level error limit: Any number with up to 6 decimal places
Low level error limit: Any number with up to 6 decimal places
High level warning limit: Any number with up to 6 decimal places
Low level warning limit: Any number with up to 6 decimal places
The unit of measure (UoM) for each parameter
For character format parameters, you can define an exact match or if a value needs to
be excluded
The range check function can be activated for both SAP QCI as well as QuantityWare MQCI
conversion groups.
It is not required to maintain all data for all parameters. You can for example
just maintain lower limits (E and W), or just Warning limits.
ASTM Table 1 defines conversion factors for volume, weight and length units. Since this table is
a “de facto” industry standard for liquid petroleum products, QuantityWare supports - within the
MQCI quantity conversions between masses, weights and volumes - the ASTM Table 1 factors.
In the “Extended conversion group maintenance” transaction (accessible via the Petroleum
Measurement Cockpit) you define if the ASTM Table 1 conversion factors or the standard SAP
conversion factors are to be utilized for each conversion group. QuantityWare delivers the
ASTM Table 1 values as part of the QuantityWare BCP BC set for SAP Dimension ID (DIMID)
VOLUME and QuantityWare Dimension ID (DIMID) WGHTA (Weight in air). For other DIMID
(e.g. MASS or VMASS or gross volume GRSVOL) you simply assign the correct UoM to the
corresponding WGHTA or VOLUME UoM via the mapping table.
QuantityWare delivers ASTM Table 1 conversion factors based on ASTM D1250-80 and ASTM
D1250-08. You select which version of the factors the conversion group shall utilize.
SAP continues to support classic dialog transactions (e.g. MB* and MI* for goods movement
transactions, VL* for deliveries processing), where the classic SAP QCI dialog box is utilized.
The QuantityWare MQCI also supports these transactions, utilizing a dialog box which supports
the reading group concept, thus enabling full support for all conversion parameters:
If you utilize a QuantityWare MQCI conversion group for LPG products including energy
calculations, based on chemical analysis data of the LPG, batch input screen 3000 is relevant:
If you utilize a standard SAP QCI conversion group for liquid products, you have to define a
density type in the conversion group; the system then expects the data entry for densities using
the density type specified which can be API gravity, relative density or absolute density.
MQCI conversion groups can be configured to allow density value entry as well as calculation of
the base density for all three possible density types.
For API gravity, you then have to pass the density UoM API, for relative density RDW, for
absolute densities any density UoM.
With BCP, QuantityWare delivers conversion groups Q210, Q212 and Q213 as examples.
Depending on the rounding settings, and due to input density rounding within
standard implementations, you cannot expect to obtain identical quantity value
results with an accuracy of more than 5 relevant digits.
As described in our working paper “Quantity Data Flow in the Oil & Gas Supply Chain” quantity
data that is passed from external measurement systems needs to be checked and possibly
enriched before ERP documents with financial impact are posted.
The standard SAP QCI supports the definition of tolerance settings for a conversion group. You
define % limits for quantity value deviations, which trigger a warning or error message if quantity
values passed from external systems (or manual changes made by users) deviate from the
calculated results.
For the QuantityWare MQCI, you can define tolerance groups in addition to this simple standard
SAP check:
You assign all relevant UoM to the tolerance group, for which an individual check is made. In
the header of a tolerance group, you define the behavior if no detailed limits for a UoM are
defined.
You assign a tolerance group to a conversion group. With this concept, you ensure that quantity
values for UoM which are e.g. relevant for pricing and excise duty calculations, deviations are
tightly controlled. For UoM that are e.g. relevant for logistics control only, higher deviations are
possible. Additionally, the implementing MQCI function
/QTYW/MQCI_QW_QUANTITY_CHECK which you need to assign to your conversion group to
activate a tolerance group check contains the following logic based on the manual entry
indicator (SAP domain OIB_MANEN):
initial Quantity calculated by QCI
X Quantity checked by QCI, deviation within tolerance
U Quantity passed through interface or BAPI functions, NOT checked
C Quantity passed through interface, deviation within tolerance
Example:
UoM L15 (liter @ 15 °C) is the basis for your excise duty calculations. Here you define a
tolerance limit where equality up to 8 significant digits is required.
UoM L (liter at ambient) is utilized for tank capacity control. Since the L quantity values show a
high fluctuation depending on the current observed temperature, you define a 0.1 % deviation
which is still acceptable and does not lead to unnecessary process flow interruptions.
Starting with BCS 10B CSP01, All QuantityWare template conversion groups are configured
such that the MQCI function module sequence contains function
/QTYW/MQCI_SYNC_EXT_VALUES. This function synchronizes external quantity data with
internally calculated values.
Example:
Your depot TAS system passes the product density, and values for L15 and KG to your ERP
system. In your UoM group, you also defined pounds (LB) and M15 as relevant UoM.
Since the L15 value is passed and validated externally, as well as the KG value, the M15 and
LB calculated values are recalculated from the L15 and KG values in order to ensure
synchronized and exact quantity data in your ERP system.
For LPG products (e.g. commercial propane, commercial butane and mixtures) LPG vapor
space calculations as defined in DIN 51650-06 and ISO 6578-91 are supported by the MQCI.
For the calculation of LPG quantities (masses, weights and volumes) the following data is
required:
LPG base density at conversion group base temperature (You may also extend the
reading group to enable entry of a density at a temperature different than base
temperature)
LPG observed temperature
LPG molar weight (required for vapor calculation)
LPG vapor pressure
LPG vapor temperature (can be defaulted from observed temperature)
The tank capacity
Apply vapor corr. (tank dip) : An indicator that triggers static tank measurement vapor
calculation
Vapor recovery (movement) ind.; An indicator that triggers vapor correction for goods
movements
All required data parameters such as density, temperature and pressure values
may be defaulted using SAP transaction /no3defaults. In addition, the
QuantityWare MQCI design fully supports customer specific defaulting into the
MQCI model sequence.
Example:
Conversion group Q731 is defined at the base atmospheric pressure of 101.300 kPa (DIN
definition), Q732 and Q733 are defined at 101.325 kPa (ISO definition), Q735 at 14.696 lbf/in 2
(SAP UoM PSI - U.S. standard base). This value is also used for the vapor calculation formula.
Technically, the vapor correction is calculated by function /QTYW/MQCI_BCP_ABS_PRESS_CALC
in the MQCI model sequence, which you may remove if you enter absolute pressure values.
The system converts your pressure value by adding the base pressure defined in the
conversion group and utilizes this value for the detailed calculations and also displays the
corrected absolute pressure in kPa:
API MPMS Chapter 12.2 specifies the exact calculation sequence for petroleum quantities using
dynamic measurement methods and volumetric correction factors.
With BCP 10B, QuantityWare delivers a new crude oil MQCI conversion model which enables
BCP customers to calculate net standard volumes (NSV) and gross standard volumes (GSV)
from indicated volumes (IV) or gross volumes (GV) according to the calculation steps defined in
API MPMS Chapter 12.2 . A combined correction factor including the temperature, pressure and
meter correction is applied for the calculation to obtain gross standard volumes, which are then
converted to net standard volumes by the correction for sediment and water content (CSW).
This is achieved by the unique flexibility of the QuantityWare MQCI in combination with the
proven SAP Unit of Measure concept. Via a newly defined QuantityWare dimension ID for gross
volumes, customers can clearly distinguish between gross and net volume quantities. Masses
are calculated as gross masses.
Details:
In the screen print down below, an example calculation is displayed. A crude volume of
1,000,000 GBL (barrel, gross) is transferred through a pipeline at an average temperature and
pressure value as shown, with a sediment & water content of 1 % (volume). The gross and net
barrel volumes at 60 °F, as well as the gross and net gallon values at 60 °F and the mass and
weight in pounds are calculated.
With BCP 10B energy calculations for LPG products are supported. Preconfigured LPG
conversion groups are delivered with the BCP 10B template where you calculate energy values
for LPG products based on ISO 6578.
With BCP 10B, you can configure all conversion groups so that certain required measurement
parameters (e.g. test density temperature is always set to base temperature) are defaulted
according to your business requirements. This way you minimize the number of parameters
required for input.
BCP 10B contains business specific functions (delivered within function group
/QTYW/MQCI_COMMON), which you can add to your MQCI conversion group function
sequence. QuantityWare welcomes your new requirements for analysis; if a solution is
technically feasible, it will be delivered as new integration logic with a CSP.
BCP 10B contains function /QTYW/MQCI_SYNC_EXT_VALUES, which you can add to your own
MQCI conversion group logic. This function detects data from external systems passed to the
SAP ERP system (via the “manual entry indicator”) and synchronizes dependent quantity values
based on that data.
For ASTM D1250-04 (crude oil and products) and GPA TP-27 (LPG) you can configure your
SAP QCI and MQCI conversion groups to calculate standard based CTPL for any required base
temperature, e.g. 23 °C (Egypt) or 85 °F (Pakistan). While ASTM D1250-04 readily supports
such temperature bases, the QuantityWare GPA TP-27 implementation has been extended via
a soft conversion to support all possible base temperatures.
For ASTM D4311-09, QuantityWare has also extended the implementation to 20 °C base
temperature. Others are available on customer request and technical feasibility.
With BCP 10B, QuantityWare delivers Function group /QTYW/CONVERSION, which contains
quantity conversion functions that may be utilized within your project to integrate BCP 10B
quantity conversions within your customer specific developments. The functions are designed to
provide an easy interface which programmers can readily understand:
Implementations of API MPMS Chapter 11.2.1(M), API MPMS Chapter 11.2.2(M) and GPA TP-
15 are delivered with BCP 10B, together with template conversion groups for crude oil, products
and LPG, which are configured to calculate combined CTL and CPL correction factors based on
these standards. List printing of API MPMS Chapter 11.2.1(M) and API MPMS Chapter
11.2.2(M) compressibility factors is provided via the PMC “Print Standards Lists” tab strip.
The CPL calculation needs to be activated for a conversion group via customizing:
A CPL calculator is available, allowing CPL factors to be calculated online for control and audit
purposes:
Leveraging the flexibility of SAPs Oil & Gas solution technical design, the Model-based QCI
from QuantityWare can operate as a “single solution”, or in parallel with existing SAP QCI
functionality, allowing customers to accurately and transparently represent business- and
regulatory-driven calculation requirements in a single, controlled environment, on demand.
7.1 Introduction
With BCP 10B, QuantityWare delivers a complete industry configuration template. This template
is delivered as a BC set (SAP ECC 6.00) or as a separate customizing transport (SAP ERP
4.72). QuantityWare strongly recommends installation of this template into exactly one client
(045) in one development system, from where the implementation project team selects the
relevant configuration (via SAP customizing transports) based on customer specific
requirements.
Within this chapter, we provide an overview of BCP customizing transaction access, as well as
some basic documentation on the configuration options provided via customizing options.
QuantityWare delivers customizing data for BCP 10B that are maintainable via transactions. All
relevant customizing transactions for bulk quantity conversion configuration can be accessed
via the QuantityWare PMC (transaction /QTYW/COCKPIT):
In order to provide a structured implementation guide (IMG) for all relevant customizing
transactions for bulk quantity conversions, these transactions are collected within a single
QuantityWare customizing IMG structure (Transaction SIMGH) named “QuantityWare
Solutions”:
With QuantityWare BCP 10B, all business-user-relevant customizing template entries are also
delivered in languages French (FR), Spanish (ES) and Portuguese (PT). QuantityWare
recommends that you perform your configuration work using the PMC in logon language
English (EN). As a last step, you should check and possibly enhance the configuration data in
your required language. With BCP 10B, you can also launch the PMC in all other logon
languages. While the Cockpit user interface (UI) is available in English (EN) only, the
customizing data is delivered in French (FR), Spanish (ES) and Portuguese (PT) as well. In
detail, the following configuration data is translated within the BCP 10B template:
All UoM definitions (dimensions, ISO/UNECE codes, UoM short and long texts)
All conversion group definitions (header texts)
All reading group definitions (header texts and individual parameter descriptions)
All range group definitions (header texts and individual parameter descriptions)
All UoM group definitions (header texts)
7.3 Summary
Via a comprehensive IMG structure, the complex and detailed customizing required for modern
quantity conversions can be accessed and governed in an efficient and transparent manner.
8.1 Introduction
The main part of the web service enablement installation is delivered within software package
/QTYW/QCI for BCP 10B:
A more detailed description of the calculations including the standard compliance methodology
chosen by QuantityWare is described in section 8.3 Web services - Interface documentation.
A quantity value thus consists of a specific quantity (e.g. volume, mass, weight) description (ID),
a numerical factor and a unit of measure. Two different quantities can thus use the same set of
units of measure, e.g. weight and mass utilize the same units of measure. In order to
differentiate between mass and weight, a quantity ID must be communicated with each
numerical factor and unit of measure.
The technical implementation of such calculations within SAP ERP systems have led to the
following technical representation of quantity values within the service definition:
1) SAP ERP systems do not support the assignment of different quantities to one set of
units of measure. Thus, units of measure for weight are defined with one set of
commercial keys, the units of measure for mass with another differing set of commercial
keys. LB is e.g. the customized commercial key for pound (mass) and LBA the
customized commercial key for pound (weight). In this way, the commercial keys carry
the information for which quantity the quantity value is expressed.
2) SAP ERP systems support unit of measure definitions, where a temperature and/or
pressure value is assigned to a unit of measure (an industry requirement). Units such
as UG6 (gallon at 60 °F) and L15 (liter at 15 °C) are available. This definition
unfortunately violates standardization practices defined in ISO 31 “Quantities and
Units”; it is also not fully supported by the UNECE recommendation 20, which defines
standardized unit of measure codes across industries for electronic trade. However, this
design has proven to be practical within the oil & gas industry and describes a de facto
industry standard developed by SAP and industry experts.
For unit of measure representation, we simply utilize the SAP commercial keys, in order to
avoid complex mapping of unit codes (and there are no UNECE recommendation codes for
standardized units such as L15, UG6 etc.).
If BCP 10B customers require different technical definitions for quantity values,
QuantityWare can provide new service definitions based on customer
specifications, which would then include mapping logic, if required.
These three operations have been designed so that the input parameters are clearly defined for
each calculation type.
8.4 Summary
Through the leverage of Web Services, QuantityWare BCS can become the central reference
calculations engine for an entire landscape of applications, without being limited to the
functional and implementation boundaries of the SAP ERP solution.
9.1 Introduction
With BCP 10B, QuantityWare delivers a complete set of pre-configured conversion groups for
all relevant product groups. These pre-configured conversion groups can be divided into two
classes of conversion groups: “SAP QCI” conversion groups and “MQCI” conversion groups.
Both types of conversion groups utilize the SAP QCI interface to business processes, i.e. from a
business process point-of-view, seamless integration into all processes is guaranteed for both
classes of conversion groups. For more information, read the SAP QCI in a nutshell document.
So, what is the difference between an MQCI and SAP QCI conversion group?
For both classes, pre-configured conversion groups for all relevant CTPL (VCF) measurement
standards are delivered as part of the BCP 10B BC set.
All SAP QCI conversion groups utilize the same “hard-coded” SAP QCI calculation
model, which can be extended and modified via SAP QCI BAdIs (Business Add Ins).
This SAP QCI calculation model is based on DIN 51650 without intermediate rounding,
supports the DIN 51757 mass-to-weight standard (air buoyancy concept) and relies on
the SI UoM conversion factor standard. In order to extend this model, various BAdI
methods are provided within the SAP QCI calculation model, by which customers can
change the standard SAP QCI calculation logic by implementing their own ABAP code
The pre-configured MQCI conversion groups provide not only support for all relevant
CTPL (VCF) measurement standards, but also for all known calculation models, as well
as support of all mass-to-weight conversion standards and all UoM conversion
standards. Each MQCI conversion group carries its own ABAP code within a sequence
of ABAP functions that are assigned to the conversion group in customizing
QuantityWare BCP customers who are already running their ERP system with the classic SAP
QCI model and who have already implemented their own customer specific BAdI
implementations should analyze their BAdI implementations within their QuantityWare
implementation project in order to make the following decision:
A simple switch to BCP 10B MQCI conversion groups may be possible if an MQCI conversion
group is available which covers the functionality implemented within the existing SAP QCI BAdI
logic. If this is not the case, but a customer still wants to switch to an MQCI conversion group, it
is the task of the customer implementation team to map the customer-specific BAdI logic to
customer-specific Z* ABAP functions, which can be “plugged into” the MQCI function module
sequence.
Customers may send their existing BAdI implementation code and the related
documentation to QuantityWare support staff at support@quantityware.com. Upon
receiving this information, QuantityWare support staff will perform a quick feasibility
analysis to determine if a migration is possible and recommended
In addition, this documentation provides a technical description of how to design the
interfaces of customer specific Z* ABAP functions which are then required for such a
migration
As described previously, an MQCI conversion group carries its own calculation logic defined in
a sequence of ABAP function modules which are assigned to the conversion group.
In general, a business process application calls the central SAP QCI function
OIB_QCI_QUANTITY_CONTROL, which is defined with the following interface:
*"----------------------------------------------------------------------
*"*"Global Interface:
*" TABLES
*" T_QT2TAB STRUCTURE OIB_A05
*" T_PARAM STRUCTURE OIB_A10
*" T_RETURN STRUCTURE BAPIRET2 OPTIONAL
*" EXCEPTIONS
*" CALCULATION_FAILURE
*" CALCULATION_OVERFLOW
*" TRANS_UOM_NOT_FOUND
*" UNIT_CONVERSION_ERROR
*" WINDOW_CANCELLED
*" INCONSISTENT_DATA
*" OUT_OF_RANGE
*" INCONSISTENT_CUSTOMIZING
*"----------------------------------------------------------------------
Table T_QT2TAB contains a table of UoM, for which the quantity values shall be
calculated.
Table T_PARAM contains the source quantity and UoM, as well as all relevant
calculation parameters that are required to calculate the correct UoM quantity values
defined in Table T_QT2TAB.
Table T_RETURN collects all messages that are raised during a calculation.
The calculation process is a “1 : n” type calculation, i.e. using the parameters passed via table
T_PARAM, the calculation model is executed n times in a loop over all UoM to calculate each
UoM target value separately.
As stated previously, SAP QCI conversion group calculations processed via the “hard-coded”
SAP QCI logic including customer specific BAdI implementations. MQCI conversion groups run
through the calculation logic defined in the function module sequence of the conversion group.
This is illustrated in the following example for BCP 10B template conversion group Q210:
Customers may extend or change the calculation logic as defined in the example above at their
own risk. Here is an example for all possible four function module types:
DATA:
* Input data incl. example for conversion group:
ls_input TYPE /qtyw/mqci_bcp_input,
ls_oib01 TYPE oib01,
lf_umrsl TYPE oib01-umrsl.
* NOTE: OTHER SERVICE FUNCTIONS CAN BE FOUND IN FUNCTION GROUP
/QTYW/MQCI_DATA_SERVICES
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4
RAISING calculation_failure.
ENDIF.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4
RAISING calculation_failure.
ENDIF.
*/=====================================================================
ENDFUNCTION.
DATA:
* Input/Import data incl. example for conversion group:
ls_input TYPE /qtyw/mqci_bcp_input,
ls_oib01 TYPE oib01,
lf_umrsl TYPE oib01-umrsl,
ls_calc TYPE /qtyw/mqci_bcp_calc,
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4
RAISING calculation_failure.
ENDIF.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4
RAISING calculation_failure.
ENDIF.
ENDFUNCTION.
FUNCTION z_example_fmtyp_7_5_dim1_dim2.
*"----------------------------------------------------------------------
*"*"Local Interface:
*" TABLES
*" T_OIB_A10 STRUCTURE OIB_A10
*" EXCEPTIONS
*" CALCULATION_FAILURE
*"----------------------------------------------------------------------
********************** DISCLAIMER ************************************
* This Example Software is provided on an "AS IS" basis with no warranties.
* Licensee agreed to test this software carefully before using in
* systems that contains productive data.
* QuantityWare GmbH can not guarantee the correctness of the formulas
* used in this code nor of the correctness of the results.
* In no event will QuantityWare GmbH be liable for any loss of profits,
* loss of use, direct, incidental, consequential, or special damages,
* regardless of whether QuantityWare GmbH has advance notice of the
* possibility of such damages.
************************************************************************
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4
RAISING calculation_failure.
ENDIF.
ENDFUNCTION.
DATA:
* Input data incl. example for conversion group:
ls_input TYPE /qtyw/mqci_bcp_input,
ls_oib01 TYPE oib01,
lf_umrsl TYPE oib01-umrsl,
ls_quan TYPE oib_a05.
* NOTE: OTHER SERVICE FUNCTIONS CAN BE FOUND IN FUNCTION GROUP
/QTYW/MQCI_DATA_SERVICES
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4
RAISING calculation_failure.
ENDIF.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4
RAISING calculation_failure.
ENDIF.
ENDLOOP.
ENDFUNCTION.
In this chapter we provide a high level assignment as to how SAP QCI BAdI methods can be
mapped to customer specific MQCI ABAP functions.
This method is called after all UoM values of table T_QT2TAB have been calculated. Its
purpose is to enable customer specific parameters to be passed back to the business
application, allowing the parameters to be stored in business documents.
MQCI conversion groups already provide all possible results defined in the supported
measurement standards, thus this BAdI method is classified as functionally obsolete for MQCI
conversion groups.
All BCP result parameters are defined in structure /QTYW/MQCI_BCP_RESULTS and can be
inspected via transaction SE12.
Both methods are called before the SAP QCI function OIB_QCI_QUANTITY_CONTROL is
called; thus implementations for this BAdI are also relevant for MQCI conversion groups.
MQCI conversion groups support all possible mass-to-weight standards, thus method
AIR_BOUYANCY_OVERWRITE is classified as functionally obsolete for MQCI conversion
groups.
MQCI conversion groups support more than 15 different calculation models, thus method
DIMENSION_TO_DIMENSION is classified as functionally obsolete for MQCI conversion
groups.
However, customers may have implemented their own code in this method in order to introduce
business specific logic to the calculation or to overwrite the standard SAP QCI calculation logic.
In that case, it is recommended to define a Z* ABAP function with function module types (FM
Call type) C. Within such a function, a loop at the UOM result table can be implemented and
customer specific logic may be included to either manipulate the calculation results, or in order
to perform additional calculations, which are not defined in the MQCI model function.
Only very experienced ABAP developers (who are additionally BCP certified) should attempt to
utilize a Z* ABAP function with function module types (FM Call type) 5 (see Example function
z_example_fmtyp_7_5_dim1_dim2)
MQCI conversion groups support more than 25 different CTPL (VCF) standards, thus
implementations of this BAdI are classified as functionally obsolete for MQCI conversion
groups.
Customer specific BAdI Implementations may be replaced by customer specific Z* ABAP
function(s) with function module types (FM Call type) 5 or 7.
MQCI conversion groups support UoM rounding via customizing, thus method ROUND_QTY is
classified as functionally obsolete for MQCI conversion groups.
MQCI conversion groups support all standards for industrial aromatic hydrocarbons and
intermediate model rounding via customizing, thus methods ROUND_AROMATICS_PARAM
and ROUND_INTERMEDIATE are classified as functionally obsolete for MQCI conversion
groups.
Customer specific BAdI Implementations for method CHECK_TOLERANCE may be replaced
by customer specific Z* ABAP function with function module types (FM Call type) C.
Customer specific BAdI Implementations for method CHECK_QCI_INPUT may be replaced by
customer specific Z* ABAP function with function module types (FM Call type) 9.
This BAdI is only relevant for natural gas conversions and is therefore not relevant for BCP 10B
conversion groups.
MQCI conversion groups for raw materials are provided within the template BC set, thus this
BAdI is classified as functionally obsolete for MQCI conversion groups.
IMPORTANT
As a result of the implementation of “Z*” function modules or the usage of SAP
QCI BAdIs, customers will no longer be able to use the QuantityWare advanced
support tools as described in Note 000052 in order to streamline any
calculation-based support requests. We recommend most emphatically that
customers implementing such additional logic create fully documented and
audited test scenarios via the QuantityWare Petroleum Measurement Cockpit
as modifications of calculation data can pose significant business risks.
With BCS CSP03, additional authority profiles, single roles and example composite roles for
PMC and GMC access and usage (including SAP QCI legacy RFC and “call system” test
reports) are defined, implemented and shipped.
13 technical authorization objects are the basis for all single roles:
These single roles encompass all Petroleum and Gas Measurement capabilities for which a
user may be granted authority.
All roles are documented and accessible via standard SAP role maintenance. Role
Y_QTYW_CR_ALL must be assigned to the user ID which is used to run the QuantityWare
implementation and installation test in client 045.
With QuantityWare BCS 10B, QuantityWare delivers a powerful and unique quantity conversion
solution to the oil & gas industries. Technically, the solution is delivered as a certified SAP Add-
On to the Oil & Gas solution. In order to enhance customer security and protect QuantityWare
GmbH’s intellectual property (IP), four protection measures have been defined as an integral
part of the technical ABAP solution:
Every BCS customer requires a valid software license key in order to execute quantity
conversions. The license key is checked each time a quantity conversion is triggered
The ABAP source code that implements the license check logic, the QuantityWare
MQCI and all central ABAP implementations of CTPL / Compression Factor standards
are hidden using standard SAP methods
The ABAP source code that implements the license check logic, the QuantityWare
MQCI and all central ABAP implementations of CTPL / CTPG standards are technically
defined – again using standard SAP methods – to be SAP system programs and thus
can e.g. NOT be debugged
All code comments marked internally with */ and empty lines are removed from all BCS
ABAP sources
Since CTPL / CTPG standards are the most complex to implement and on the other hand, once
correctly implemented, do not require any code changes, all such implementations are hidden
and cannot be debugged in customer systems. The functional accuracy and correctness of such
implementations is validated via dedicated implementation test programs (based on
implementation tests defined in the related measurement standards) and list printing reports
(accessible via the PMC or GMC) and can be reproduced and tested by each customer without
having to investigate the ABAP source code. Software license installation is documented in the
BCS 10B Technical Installation Guide. Here we document which ABAP sources are hidden and
The following table contains the list of function groups and individual ABAP sources which are
hidden before delivery of BCS CSP03 and are set to be a SAP system program.
Number of
Objects
Package Function Group (Functions Comments
&
Includes)
/QTYW/QCI /QTYW/MQCI 26 QuantityWare MQCI implementation
SINGLE
/QTYW/IMPLEMENTATION_TEST BCS implementation test report (client 045)
SOURCE
SINGLE
/QTYW/INSTALL_LICENSE BCS licence installation (via cockpits)
SOURCE
SINGLE
/QTYW/COCKPITF01 Program NOT set as system program
SOURCE
SINGLE
/QTYW/COCKPITF01_GAS Program NOT set as system program
SOURCE
539
TOTAL SOURCES
HIDDEN
In this section we provide a list of abbreviations used in the BCP 10B documentation
documents. For detailed explanations of the terms, refer to the individual BCP 10B
documentation documents:
The decimal point and thousand separators for numbers and quantity values for
BCP 10B documentation documents are defined as follows: The decimal point
is a dot ‘.’, the thousand separator is a comma ‘,’. Example: 123,456.987.
Owing to the definition of business-relevant scenarios in our systems, numbers
in screen prints may display differing formats.
For unit of measure symbols and spelling of unit names, NIST special
publication 811 (latest version) is relevant – see the document “BCP 10B
supported standards” for details