SEM CPM  BSC Value Field with AGGREGATION is working wrong

Hi everyone
We have a balanced scorecard defined and working fine until now.
Since a week, the value fields with "aggregation" (accummulated each month) is showing the correct value for the periods 2 -12, but the Period 1 is showing the value of the last period. For example:
ValueField 1: Is a value field common
ValueField 2: Is with aggregation (accummulated).
                     January  February March
Value Field 1: 10           20          30     
Value Field 2 : 60          30          60
(with Aggregation)
As you can see, the first period is the same as the last period using aggregation.
I have checked the time variables, and the value fields and everything looks ok.
Can anyone help me in order to solve this problem.
Thanks in advance.
Carlos España
Cementos Progreso.
[email protected]

Dear Cempro ,
                      For me even aggregation check box is not active .Would you please tell me the process of periodization .
Regards,
Narender Kumar

Similar Messages

  • Printing value fields with negative sign??

    Hello Experts,
    I have developed a interface, which writes the invoice data to application server/unix, this is a notepad. My specifications are as below,
    MWSK1(2)   TaxCode                         65     2     KONV-MWSK1     
    KWERT(13)  Condition Value                  67     13   KONV-KWERT     
    KSTEU(1)  Condition Control                80     1     KONV-KSTE
    I have to print KWERT value from 67th position until 13 positions, meaning until 80 positions, fine. My code is as below,
      MOVE: wa_invoice_price-mwsk1  TO unix_file+64(2).
      WRITE: wa_invoice_price-kwert    TO unix_file+66(13) RIGHT-JUSTIFIED.
      MOVE:  wa_invoice_price-ksteu    TO unix_file+79(1),
    So, it printing like below (pls. note 0.04 minus value in right bottom corner)
    P26701ZCG620101006C          100.00         0.00USD  1    UGL            0.00A A 9
    P60001ZF3520101006C          100.00         0.00USD  1    UGLG          0.04-H B 9
    But, business want to have like below (pls. note the DIFFERENCE for 0.04 minus value in right bottom corner),
    P26701ZCG620101006C         100.00        0.00USD  1    UGL               0.00   A A 9
    P60001ZF3520101006C         100.00         0.00USD  1    UGLG             0.04 - H B 9
    meaning, the 13th position should be negative sign (if at all any value does have a negative sign, else its normal)....so, the negative sign should sit on 13th postion. As am using WRITE statement with RIGHT JUSTIFIED am facing thisissue!! as u know we can not send a 'P' type value to unix/apps server, pls. let me know how to get it done?
    Thank you

    why can't the user live with a leading sign, like '-   0.04'?  If possible, do
    shift <fieldname> circular up to '-'.
    Or, if value is less than zero, set another variable to '-', else set to space, and multiply value with '-1', like:
    if <field> < 0.
       lv_sign = '-'.                " neagtive value
      <field> = <field> * '-1'.  "reverse the sign
    else.
    lv_sign = space.          "positive value
    endif.
    then, adjust your field length and insert a sign column or simply add a column for the sign....

  • Connect more than 1 external BI in SEM-CPM-BSC or SEM-CPM-MC

    Hello,
    I have seen the help.sap.com that helps me how to put a defined BI (but only one BI).
    Design -> Default BW System
    Design -> Access to SAP BW
    Design -> RFC Destination for Project System
    But what we have is 3 BI systems. Each one with one module (HHRR, FI, SD). We want to join those BI modules into the SEM CPM. But I don't see how to put those 3 external BI in my CPM.
    Please help me...
    Best Regards...
    Pablo Mortera.

    There're several ways:
    1.- Create remote Cubes where you get your queries. Then once the SEM system you will have a Cube that really is a "remote" cube in another system. This will also help by creating a MultiCube, related to the cubes created before...this way you have a big datamart (really a knowledge mart;-) ) that has all of the data/information related in one view.
    2.- In the local BW system, you may create local InfoProviders that are being fed by remote BW systems as InfoSources. (You'll have to create the InfoSources and copy the data loads in the local BW System)
    Hope this helps.
    Cheers.
    Jesus

  • SEM-CPM-BSC - Score always 0

    Hello,
    we are building a CPM. We have inserted prerspectives, strategies, objectives, measures...  We have leveled the "Status & score" with values. But when we are looking in the graphics, the score always is 0.
    Where can I convert that 0 to another value???? the values we have in the "Status & score"?
    Thank you in advance...
    Pablo M.

    Hello Pablo,
    you have to make the "Formula Result Score Assignement" --> then it should work.
    If you already done it,let me know.
    Regards,
    Oguz

  • Mass download of scorecards (SEM-CPM-BSC)

    Hello everybody,
    I am facing the following problem:
    We have about 100 scorecards and all of them have to be downloaded with program UMB_OFFLINE_DOWNLOAD every quarter.
    How can I use variables to determine the time conditions?
    How can I use the same target directory for more than one scorecard?
    Thanks for your help,
    Kind regards,
    Henning

    Dear Thomas,
    A customer asked for the upgrade of SEM from 3.5 to 6.0. Do you have any documents especially on testing for CPM.

  • SEM CPM BSC - add link in measure detail through UMB_LAUNCHPAD_WEB

    Hello,
    I have problem with adding link to the document in detail of measure through UMB_LAUNCHPAD_WEB. In detail of measure there is pushbutton Documents and Links. I want to write http:// ..... to the path but system change it to the file:
    http.... In another system there is no problem and http:// is functional link.
    Is there any customizations for this settings ??
    Thanks you for advice.
    Jiri Sedlacek

    Try regenerating the web interface.
    If you are already in production, you may have to transport from dev to prod.
    Ravi Thothadri

  • SEM CPM BSC - Assessment entry

    Hello
    I have a Balanced Scorecard defined in SEM.
    The users can entry "assessments" each month for each measure.
    Something happened, and right now it is not possible to enter "assessments" through the web interface (transaction UMB_LAUNCHPAD_WEB) of the balanced scorecard.
    The assessments can only be entered through the GUI SAP using transaction UMB_PRES1.
    The users used to enter the assessments through the web interfase, but now this feature is disabled (The button "assessment" dissappear), maybe someone change something that i don't know.
    Please help me in order to enable the entering of "assessments" through the web as it is possible now through the SAP GUI way.
    Thanks in advance for your valuable help.
    Carlos Españ

    Hello,
    you should check the authorizations. Nobody from the users is able to create an assessment in the WEB-presentation? Furtheron if you are not the owner of the measure in the scorecard in the selected period, you are not able to create an assessment. I think, you should check the assignment of the owners in your scorecards.
    If you have questions, just let me know.
    Regards,
    Marta

  • SEM CPM BSC - Assessment entry through UMB_LAUNCHPAD_WEB

    Hello
    I have a Balanced Scorecard defined in SEM.
    The users can entry "assessments" each month for each measure.
    Something happened, and right now it is not possible to enter "assessments" through the web interface (transaction UMB_LAUNCHPAD_WEB) of the balanced scorecard.
    The assessments can only be entered through the GUI SAP using transaction UMB_PRES1.
    The users used to enter the assessments through the web interfase, but now this feature is disabled (The button "assessment" dissappear), maybe someone change something that i don't know.
    Please help me in order to enable the entering of "assessments" through the web as it is possible now through the SAP GUI way.
    Thanks in advance for your valuable help.
    Carlos Españ

    Try regenerating the web interface.
    If you are already in production, you may have to transport from dev to prod.
    Ravi Thothadri

  • Dynamic Action on Item Value Change with AjaxRequest not working

    Hello,
    I have a select list of users called P222_USERS. When a new user is selected, I want to run a Query to find the email for the new user selected and stick it in text field P222_EMAIL.
    I have an On Demand process on the change of P222_USERS that calls a javascript function:
    fetchEmail($('#P222_USERS').val());
    In my header, the function calls an Application Process in an Ajax request:
    function fetchEmail(email){
    var ajaxRequest = new htmldb_Get(null,&APP_ID.,'APPLICATION_PROCESS=GET_EMAIL', 0);
                             ajaxRequest.add('P222_USERS', $('#P222_USERS').val());
                             ajaxResult = ajaxRequest.get();
    Here is my On Demand PLSQL Process GET_EMAIL:
    begin
    select email into :P222_EMAIL from login where userid = :P222_USERS;
    end;
    The email is not getting populated into :P222_EMAIL. I know i'm close, but have already spent a bunch of time with various alternates to the above function/on demand process. Any help is greatly appreciated. I wish the PL/SQL process on the item change worked in this manner instead of going through AJAX.
    Thank you,
    Johnny

    Johnny98 wrote:
    Hello,
    I have a select list of users called P222_USERS. When a new user is selected, I want to run a Query to find the email for the new user selected and stick it in text field P222_EMAIL.
    I have an On Demand process on the change of P222_USERS that calls a javascript function:
    fetchEmail($('#P222_USERS').val());
    In my header, the function calls an Application Process in an Ajax request:
    function fetchEmail(email){
    var ajaxRequest = new htmldb_Get(null,&APP_ID.,'APPLICATION_PROCESS=GET_EMAIL', 0);
                             ajaxRequest.add('P222_USERS', $('#P222_USERS').val());
                             ajaxResult = ajaxRequest.get();
    Here is my On Demand PLSQL Process GET_EMAIL:
    begin
    select email into :P222_EMAIL from login where userid = :P222_USERS;
    end;
    The email is not getting populated into :P222_EMAIL. I know i'm close, but have already spent a bunch of time with various alternates to the above function/on demand process. Any help is greatly appreciated. I wish the PL/SQL process on the item change worked in this manner instead of going through AJAX.
    Thank you,
    JohnnyThe fact is that your application process sets the items value in the session state and not populate the value on client/browser side
    So you need to return the value from on demand process and assign the value in javascript like this
    function fetchEmail(email){
    var ajaxRequest = new htmldb_Get(null,&APP_ID.,'APPLICATION_PROCESS=GET_EMAIL', 0);
    ajaxRequest.add('P222_USERS', $('#P222_USERS').val());
    ajaxResult = ajaxRequest.get();
    //newly added
    alert(ajaxResult);
    $s('P222_EMAIL',ajaxResult);
    //amend your On Demand PLSQL Process GET_EMAIL like this
    begin
    select email into :P222_EMAIL from login where userid = :P222_USERS;
    //newly added
    htp.prn(:P222_EMAIL);
    end;This way the value will be set into session state and client side as well

  • Creation of logic group - any limitation for the Criteria Value Field?

    I am trying to create simple logic groups in FDM (version 11.1.1.3 and 11.1.2.1). However, an error message displayed in the information bar.
    Error: Error adding new record.
    Detail: Data access error.
    I clicked the "Add" button and created a logic group which contains *1,520* non-sequential source accounts in the Criteria Value Field (with In operator).
    I have separated these source accounts with a comma and no spaces in between them. (Note: Operator = x, Value/Exp = 1, Seq = 0) I updated the grid. Then, the error message was displayed and the logic group creation was failed.
    And then, I created a new logic group which contains only *100* non-sequential source accounts in the Criteria Value Field (with In operator).
    I also separated them with a comma, no spaces and same setting. I updated the grid. And the logic group was added successfully.
    Each source account contains 10 characters (alphabet and/or number).
    I want to ask:
    1. Is there any limitation in specifying source accounts (i.e.. no more than certain number of source accounts for each logic group) in the Criteria Value Field when creating simple logic group?
    2. I am adding these logic groups by clicking the "Add" button one by one, is there faster way to do it (i.e.. upload an excel or csv file or source accounts specified)?
    Thank you very much!

    Thank you Expert for your reply!
    I would like to ask about loading the Logic Accounts with the template.
    As instructed, I exported the excel out for the template format and updated the template with new Logic Accounts. Then, I imported the excel file in the "Import XLS" section under Tools. The excel file was uploaded successfully. (Note: I am using excel 2010 and saved it as .xls file)
    However, there is no changes in the Logic Accounts and seem no updates was made.
    I want to ask:
    1. Did I import the excel at the right location (i.e. "Import XLS" section under Tools)?
    2. Is there anything else I need to do after the file has been imported (i.e. delete the existing logic accounts or click another button(?) for this change) so the new list of logic accounts would become effective?
    I would like to use excel to maintain my list of logic accounts for better control in the future.
    Thanks in advance!

  • Transport COPA new value field

    Hello SAP Experts,
    I have created a new COPA value field. Now i would like to transport the same to Test (Acceptance or Quality) server, can you kindly let me know how can i proceed with this.
    Your inputs are highly appreciable in this regard.
    Many thanks in advance.
    Regards,
    Pavan Kumar P

    Hi,
    Please read note 131664 regarding the use transaction KE3I to transport operating concern structures.
      In principle you can transport a new value field with a transport of an operating concern - part 'Structures: ABAP Repository objects' in transaction KE3I.
      You need to perform the following steps:
    1. Value field added in source system thro tcode KEA6
    2. Regenerate the environment of operating concern in source system (tcode KEA0)
    3. Transport using KE3I (select: ABAP repository objects)
    4. Regenerate the environment of operating concern in target system.
    Via transaction code KE3I you have the option to transport specific object classes.  If you select 'Structures: ABAP Repository objects' the following settings are transported:
    Cross-client objects in the SAP Repositiory
    - Tables and structures of the operating concern (CE1xxxx - CE8xxxx)
    - Domains and data elements for CO-PA characteristics
    - Master data tables for CO-PA characteristics (without data)
    Cross-client control tables
    - CO-PA field catalog
    - View directory
    Normally we advise customer to add a new value field/characteristic to
    DEV then transport to QAS and then transport to PRD. This ensures that
    the operating concerns in the 3 systems are in sync.
    regards
    Waman

  • Can we evaluate EVM(Earned value analysis with) in SEM-BSC

    Can we evaluate EVM(Earned value analysis with)IN BSC SEM-BSC.If so then how?

    The Earned Value Management (EVM) method enables efficient and effective project management. This form of financial analysis focuses on technical, schedule and cost performance of a project. Obviously, there are different ways of managing by EV ranging from using simple spreadsheets to more complex software implementations.
    To get the basic components of project performance regarding the diverse costs, schedule and technical aspects, some of SAP's project management solutions as e.g. part of SAP PLM can possibly be used (for more information please visit e.g. the respective Solutions area on SDN). As these systems are rather transactional, an extraction of the performance data to SAP NetWeaver Business Intelligence (BI) would be a reasonable second step, together with uploads or manual entry of additional necessary project data which is perhaps not available in the transactional system.
    For more information of the calculations behing this concept you may refer e.g. to Wikipedia:
    <a href="http://en.wikipedia.org/wiki/Earned_value_management">http://en.wikipedia.org/wiki/Earned_value_management</a>
    Using calculated key figures in BI can finally deliver the metrics to be composed as Key Performance Indicators and displayed in a dedicated strategy/performance management software with its respective status at the strategic objective or intitiative level if needed (in this regard I would recommend you to have a look at a new strategy/performance management solution of SAP called SAP Strategy Management (SSM) which replaced the older Balanced Scorecard app of SEM you are referring to. More info on SSM can be found on e.g. <a href="http://www.sap.com/solutions/performancemanagement/index.epx">http://www.sap.com/solutions/performancemanagement/index.epx</a>. SAP Strategy Management is methodology-agnostic and can be used for all performance management methodologies based on objectives, KPI's and initiatives. SSM is based on technology acquired by SAP with a company called Pilot earlier this year).
    To conclude, a strategy management application (if it is SSM or SEM BSC) does not directly help you calculate EVM as you need transactional/manual calculation data for it together with calculation formulas etc. where diverse other SAP products incl. primarily SAP NW BI can be used. However, a strategy management application can be an excellent environment to visualize/evaluate the results of the EVM calcualtion in the context of strategic objectives and/or initiatives. And as I said, feel free to have a look at the new SAP Strategy Management application, replacing the SEM BSC Solution if you are interested in the strategy management area.
    Thank you for your inquiry / Best regards,
    Karol
    Solution Management - 'Next Generation' SAP Solutions for Performance Management (CPM)

  • Integrating VDT with Managment Cockpit in SEM - CPM

    Hi ,
    I am working with Managment cockpit in SEM-CPM. I want to integrate my Value Driver Tree ( VDT ) to my Managment cockpit.  Can anybody tell me the procedure of the same.
    Thanks & Regards,
    MANDAR

    hi mander,
    follow this link.
    https://help.sap.com/saphelp_sem320bw/helpdata/en/1b/3131375fc9342ae10000009b38f839/frameset.htm
    look out at the cpm-vdt node of this link.hope it will provide you the information you need.

  • Field with a default value from another field

    I need to populate a field as the default value from another field that the user inputs. I've tried the scripting that I found from the below Topic in the Archived Forums, but I'm not able to make it work. I've tried numerous variations and still to no avail. I tried to make the scripting work in Acrobat 6 and then decided that maybe I needed to upgrade, so I'm now trying it in Acrobat 8 with no results. Can anyone help?
    Topic
    Acrobat 5 - field with default value of another field
    Ben PF - 03:31am Mar 23, 2007 Pacific
    How can I have a field date2 which has the default value of field date1, but which can be edited by the user if necessary without changing the value of date1.
    I've tried, but I just can't figure it out!
    Any help much appreciated.
    Ben
    | Back to Topic List | Bookmark | Subscribe
    To start a NEW discussion click on the Back to Topic List link and select Add Topic.
    If you are in an archive forum please go up to the main topic list (archives are read only).
    Messages
    2 messages. Displaying 1 through 2.
    First Previous Next Last Show All Messages
    Gene Dianoski - 5:22am Mar 23, 07 PST (#1 of 2)
    This, or some variation of this, should work:
    if(this.getField("date2").value == ""{
    this.getField("date2").value = this.getField("date1).value;
    | Bookmark back to top
    Ben PF - 6:49am Mar 23, 07 PST (#2 of 2)
    Thanks very much.
    I put it in at document level to start, but it didn't run the script automatically when date1 was first filled in, so I have put it in as a mouse exit action in date1 and it works a treat.
    Thanks for your help.
    Ben

    Okay forget what I posted above and lets start over. Go to your first field and under Properties -> Actions Tab -> Select Trigger -> On Blur Run A JavaScript.
    Put this:
    this.getField("myField2").value = event.target.value;
    Make sure that you replace ("myField2") with the actual name of your second field. I just tested this and it works for Acrobat version 6.
    I haven't been doing as much javascripting as I used to, so sometimes I too make some basic mistakes.

  • A function instead of UNBOUNDED PRECEDING (like "Last field with value=0")

    Hello,
    I have a table with many rows. The attributes of the table are code, month and value.
    For each code there are 12 months and 12 values.
    No I want to add the gaps between the months...
    Is it possible to count the following gaps between the different rows...?
    For example:
    Original table1:_
    code, month, value
    1,1,20
    1,2,0
    1,3,30
    1,4,0
    1,5,40
    1,6,0
    1,7,0
    1,8,20
    1,9,0
    1,10,10
    1,11,0
    1,12,0
    5,1,0
    5,2,20
    5,3,10
    description:*
    january value = 20
    february value = 0 (=>count this gap => new value 1 )
    march value = 30
    april value = 0 (=>count this gap => new value 1 )
    may value = 40
    june value = 0
    july value = 0 (=>count this two following gaps => new value 2 )
    agust value = 20
    september value = 0 (=>count this gap => new value 1 )
    october value = 10
    november value = 0
    december value = 0 (=>count this two following gaps => new value 2 )
    New target table:_
    code, month, value
    1,1,20
    1,2,*1*
    1,3,30
    1,4,*1*
    1,5,40
    1,6,0
    1,7,*2*
    1,8,20
    1,9,*1*
    1,10,10
    1,11,0
    1,12,*2*
    5,1,*1*
    5,2,20
    5,3,10
    I tried this code:
    select code, month
    sum(value) over (
    order by month
    rows between unbounded preceding and current row
    *) as final_value*
    from table1 order by month;
    This adds all following fields cumulative from beginning to current_row. But I need this adding only for the following gaps... then start with countin by 0.
    I need only the following like in the example on top. Maybe is there an other function like decode to count only the following gaps...!?
    A function instead of unbounded preceding....like "*Last field with value=0*" or something... ?
    Best regards,
    Tim

    TimB83 wrote:
    I have a table with many rows. The attributes of the table are code, month and value.
    For each code there are 12 months and 12 values.
    No I want to add the gaps between the months...
    Is it possible to count the following gaps between the different rows...?
    For example:
    Original table1:_
    code, month, value
    1,1,20
    1,2,0
    1,3,30
    1,4,0
    1,5,40
    1,6,0
    1,7,0
    1,8,20
    1,9,0
    1,10,10
    1,11,0
    1,12,0
    5,1,0
    5,2,20
    5,3,10
    description:*
    january value = 20
    february value = 0 (=>count this gap => new value 1 )
    march value = 30
    april value = 0 (=>count this gap => new value 1 )
    may value = 40
    june value = 0
    july value = 0 (=>count this two following gaps => new value 2 )
    agust value = 20
    september value = 0 (=>count this gap => new value 1 )
    october value = 10
    november value = 0
    december value = 0 (=>count this two following gaps => new value 2 )
    New target table:_
    code, month, value
    1,1,20
    1,2,*1*
    1,3,30
    1,4,*1*
    1,5,40
    1,6,0
    1,7,*2*
    1,8,20
    1,9,*1*
    1,10,10
    1,11,0
    1,12,*2*
    5,1,*1*
    5,2,20
    5,3,10
    ...Tim,
    you should post this question on the "SQL and PL/SQL" forum since it's a typical SQL question.
    There are probably much better ways to accomplish this and the guys over there will tell you, but here are two examples that might get you started:
    1. Pre-10g without MODEL clause
    with t as (
    select 1 as code, 1 as month, 20 as value from dual union all
    select 1 as code, 2 as month, 0 as value from dual union all
    select 1 as code, 3 as month, 30 as value from dual union all
    select 1 as code, 4 as month, 0 as value from dual union all
    select 1 as code, 5 as month, 40 as value from dual union all
    select 1 as code, 6 as month, 0 as value from dual union all
    select 1 as code, 7 as month, 0 as value from dual union all
    select 1 as code, 8 as month, 20 as value from dual union all
    select 1 as code, 9 as month, 0 as value from dual union all
    select 1 as code, 10 as month, 10 as value from dual union all
    select 1 as code, 11 as month, 0 as value from dual union all
    select 1 as code, 12 as month, 0 as value from dual union all
    select 5 as code, 1 as month, 0 as value from dual union all
    select 5 as code, 2 as month, 20 as value from dual union all
    select 5 as code, 3 as month, 10 as value from dual
    r1 as (
    select
            case
            when value = 0
            then 1
            else 0
            end as is_gap
          , case
            when value != 0
            then rownum
            else null
            end as grp_info
          , code
          , month
          , value
    from
            t
    r2 as (
    select
            last_value(grp_info ignore nulls) over (partition by code order by month) as grp
          , is_gap
          , code
          , month
          , value
    from
            r1
    select
            code
          , month
          , case
            when value = 0
            and (lead(value) over (partition by code order by month) != 0 or
                 lead(value) over (partition by code order by month) is null)
            then sum(is_gap) over (partition by code, grp)
            else value
            end as value
    from r2;2. 10g and later with MODEL clause
    with t as (
    select 1 as code, 1 as month, 20 as value from dual union all
    select 1 as code, 2 as month, 0 as value from dual union all
    select 1 as code, 3 as month, 30 as value from dual union all
    select 1 as code, 4 as month, 0 as value from dual union all
    select 1 as code, 5 as month, 40 as value from dual union all
    select 1 as code, 6 as month, 0 as value from dual union all
    select 1 as code, 7 as month, 0 as value from dual union all
    select 1 as code, 8 as month, 20 as value from dual union all
    select 1 as code, 9 as month, 0 as value from dual union all
    select 1 as code, 10 as month, 10 as value from dual union all
    select 1 as code, 11 as month, 0 as value from dual union all
    select 1 as code, 12 as month, 0 as value from dual union all
    select 5 as code, 1 as month, 0 as value from dual union all
    select 5 as code, 2 as month, 20 as value from dual union all
    select 5 as code, 3 as month, 10 as value from dual
    select
             code
           , month
           , value
    from
             t
    model
    partition by (code)
    dimension by (month)
    measures (value, 0 as gap_cnt)
    rules (
      gap_cnt[any] order by month =
      case
      when value[cv() - 1] = 0
      then gap_cnt[cv() - 1] + 1
      else 0
      end,
      value[any] order by month =
      case
      when value[cv()] = 0 and presentv(value[cv() + 1], value[cv() + 1], 1) != 0
      then presentv(gap_cnt[cv() + 1], gap_cnt[cv() + 1], gap_cnt[cv()] + 1)
      else value[cv()]
      end
    );Regards,
    Randolf
    Oracle related stuff blog:
    http://oracle-randolf.blogspot.com/
    SQLTools++ for Oracle (Open source Oracle GUI for Windows):
    http://www.sqltools-plusplus.org:7676/
    http://sourceforge.net/projects/sqlt-pp/

Maybe you are looking for