SBO Tables CFL

Any one know how to trigger SBO TABLE NAME Choose From List similar to a CFL that pops in Query Manager.
Currently I am using formatted search with table names from  sys.tables to fetch list of tables.  Is there anyway to get a CFL similar on that we get in Query Manager with Table Name and Table Description? Is it doable? Please share you experience.
With Regards
B Ravi Shankar

Hello,
This is not possible. What you can do: A formatted search and can be activated by Tab key (ET_KEY_DOWN event) with sbo_application.AtivateMenuItem('"ID").
By this you can display the selection screen for system tables...
Regards,
János

Similar Messages

  • Adding a boolean field to an existing sbo table

    hi everybody
    i want to add a boolean field to an existing sbo table.
    when i try to do it from the tools ... manage user fields
    i get only types like numeric string..
    i dont get the booelan type
    does anybody know how can i do that thanks.
    for now i used the numeric type and the values 0 and 1

    Hi,
    you can do it in the following way:
    checkBox = ((SAPbouiCOM.CheckBox)(item.Specific));
    checkBox.Caption = this.caption;
    <b>checkBox.DataBind.SetBound(true, tableName, alias);</b>
    checkBox.ValOn = "1";
    checkBox.ValOff = "0";
    Andrey

  • Why table RCT4 is empty???

    Dear All experts,
    I am trying to open SBO table RCT4 in SQL 2000 server using (return all rows), but there is no data. Although I have done some transactions in outgoing payment using account code, but it is still empty. I use the table in creating new view in SQL 2000 using OVPM join with table RCT4 and I use select all rows from RCT4 and OVPM. After run it, the result is empty for some field like :
    - AcctCode
    - AcctName
    - Descrip
    Why could it be empty ? meanwhile if I use table VPM4, it works well. The strange things and annoying me are that there are two tables in outgoing payment row with code type is account, they are : RCT4  and VPM4, it is a little bit confusing. In the next time I don't want it happened, so please let me know the solution for these problems, how to choose the exact table and I can work once only. i appreciate your answers. TIA
    Rgds,

    Hi Steve,
    Incoming payments: ORCT (header) - RCT4 (details)
    Outgoing payments: OVPM (header) - VPM4 (details)
    You have to join the ones with the same type. So as you're looking only for outgoing payments use the second option.
    HTH,
    Ian

  • User Tables Naming convention / Namespaces

    Dear all,
    Does anybody know where to get Informations about SBO NameSpace Conventions ?
    I have 2 Questions for naming conventions
    1) Creating a UserDefinedTable like this
       Table Name  :  Z_NameSpace_MyTableName
       Is it necessary that any FieldName of the
       table uses the NameSpace Prefix ?
       Like this: NameSpace_PosNo
    2) Adding UDF to SBO Tables
       Is it necessary that UDF Fields uses the
       NameSpace Prefix ?
    Thanks

    Thomas,
    The NameSpaces are only used while creating a UserDefined Table.
    UserDefined Table :
    The convention for the name is NameSpace_MyTableName (without the Z_). Its length can't exceed 19 characters.
    When adding a user table, SAP Business One automatically adds the symbol @ as a prefix to the table name. For example: if you add a table named "ABC", the resulting table name will be "@ABC".
    When referring to a user defined table you must use the name including the prefix @.
    UserDefined Field :
    you do not have to add the NameSpace in the name of the field. Its length can't exceed 8 characters.
    When you create it using the UserFieldsMD object, the character "U_" will be added to its name, and created in the table.
    To conclude, the NameSpace is only used for the table.
    The DI API will add @ for the table, and U_ for the field.
    You can see SAP note 647987 about NameSpace
    Sebastien
    Message was edited by: Sébastien Danober

  • Name of the Transaction table

    Hi All,
    Is there any table which saves every transaction happening in SAP? I am aware of the history table but, that is maintained object (or document) wise.
    thanks and regards,
    Binita Joshi

    Binita,
    there is no SBO table for storing transaction. You should check it with sql profiler (in the fact, in case of storing all transaction the db should be grow and grow).
    The only storing of procedures is transaction log in sql server.
    Edited by: Petr Verner on Jun 12, 2008 5:35 PM

  • SBO Metadata

    Hello,
    I am working on a new project and I need to extract the metadata from SAP Business One standard tables. What I need specifically is the description of each table field, similar to what SBO does when you use the query generator. Basically, you type the name of any table, and the system shows you the name of each field and a description. I know how to get the field name, but I do not know how to get the description, not even where it is stored.
    I appreciate any help.
    Cesar.
    Edited by: Rui Pereira on Dec 9, 2008 4:12 PM

    Hello Folks,
    Thanks for your reply but I think I didn't make my self clear. What I need is to access the SBO tables description by code (in a program). What this program has to do is to show the fields of a given table and the corresponding fields' description just like the SBO query generator does.
    There has to be a place where the query generator gets this description from, but I haven't been able to find it. Does anyone know where the fields' description is stored or how to access it from code?
    Thank you
    Cesar.

  • What does the table CHEN store?

    Hello, does anyone know what SBO table CHEN does? The reason I am asking this is because this table creates SQL blocks and SBO hangs. We have to manually kill the process in SQL Server to release the block. Has anyone faced a similar problem and/or has a workaround, please assist us.
    rgds
    Faizal

    Hi Rowdy, thanks for your reply. SBO does not hang during normal use, it only hangs when batch processes/large reports are run. We are on patch 42.
    We've noted using the sql profiler that:
    1. SBO queries the CHEN table every minute per user
    2. from sql profiler, we saw the process that was blocking others was the query for CHEN table. This happens when a large process is happening.
    The following are questions that would be interesting to answer:
    What is the purpose of CHEN table?
    Why does SBO raise a query on CHEN every minute per user?
    Why does a sql block occur on CHEN table?
    Any assistance will be appreciated.
    rgds
    Faizal

  • Error in query when adding prompts

    Hello Everyone,
    I have a simple query which is working just fine in query manager. Now, I need to narrow the query by adding two prompts. However, when I add a prompt, it will complain with an error saying:
    Incorrect Syntax Near pch1.itemcode...
    However, I am NOT using that table.. in fact, the query access an external table...
    I have read note 0000730960 SAP Business One does not identify variables in long queries, but this is not the case.
    I have reduced the query to just:
    select
         t0.airline_id as 'Airline'
    from     
         hostostmp..flights t0
    where
         t0.airline_id='[%0]'
    but it is still giving me the error...
    Even more, if I change the query for some actual real value, it will work. For instace, t0.airline_id='MP' it will work like a charm.
    I use prompts (up to 3 prompts) in many other querys with no problems...
    But this one, is a really wierd one. Support insists in reducing the query, based on the note, but this is simple a shot in the dark. They have no idea.
    So, any hint will certainly be apprecieted.
    Best regards,
    Leo

    Hi Leonardo,
    I'm afraid I don't think you can use prompts on external tables. Your other queries you mention, are the prompts on SBO tables or external tables?
    As you know, when a prompt is inserted in to a query, SBO generates a separate window that allows the user to enter values for any prompts. If SBO does not recognise the table as a system table then it cannot generate the prompt window and the query fails (..and you get that misleading error message).
    Kind Regards,
    Owen

  • Automatic BOM price roll-ups

    My question is whether there is a user-friendly way of updating BOM prices in a volatile component environment.  I think the answer is no, and that I will need to create a custom program to do so.  The details...
    We have several customers which manufacture fairly complex products, involving multiple levels of BOMs.  Because of the volatility of component prices, and for tax purposes, FIFO costing is utilized.  Thus, component costs will be changing on a daily basis.  While I understand that the actual postings for a Production Order (PdO) will use the correct costs at the time of issue and FG receipt based on the item's costing method, these companies need to have reasonably accurate rollup costs in order to manage their selling prices.  These rollup prices would be considered "reference" values, and it's understood that actual production costs would vary.
    I've read dozens of posts and viewed an expert session on maintaining rolled BOM costs:
    [https://websmp109.sap-ag.de/~sapidb/011000358700000185812008E/LOG_CW07_How_to_update.wrf].  If I've properly understood and consolidated the information, maintaining prices must be done manually or with the Update Parent Item Prices Globally function.  Manual updates would be incredibly time consuming, and frankly, unacceptable.  The UPIPG function will yield correct results only if it is performed from the lowest level subassembly BOM's first and finishing with the top-level finished goods.  As far as I know, SBO has no "low-level code" in the item master to indicate the lowest BOM level in which it appears.  Therefore, using the UPIPG function would still be a manual process and there is insufficient information to guide a user through the correct sequence.
    The only solution I can see would involve creating an external program, which could be run periodically (e.g., nightly or on-demand).  The output of this program would be an updated price list for all items, reflecting current costs.  The program would first dynamically create a temporary table containing each item and its low-level code.  Then, it would explode and cost BOMs starting from the lowest level, and progressing up the levels.  Each higher level would use the newly-updated prices for the lower levels.  The only SBO table updated would be the price list.
    I've already scoped and prototyped this program, but wanted to check if there are other alternatives.  Any feedback would be much appreciated.
    Dave

    Thanks for considering my question, Gordon.
    I pretty much finished the program and initial tests are looking good.  In case you're interested, the following is how I approached the problem.
    The custom program is an external (DI-API) VB.net program, written as a console application (ie, no UI, command-line startup with parameters, can be initiated via Windows Scheduler).  I added a UDF to the PriceList table, and the program updates only those price lists with a value in the UDF.  The UDF value is a comma-separated list of warehouses whose inventory should be used to formulate the "current cost".  For each PriceList, there are two passes.  The first pass processes only BUY items, and computes a "current cost", depending on the cost method and whether costing is global or by warehouse.  For FIFO items, an average FIFO cost is calculated across the designated warehouses.  For Moving Average, a weighted average of the Moving Averages is determined.  For standard cost items, the standard costs are averaged.  The PriceList is updated to reflect this "current cost" (which is only a reference value).  The second pass processes only MAKE items.  Rather than updating a static low-level code each time, I simply flatten each BOM down to it's BUY or non-inventory parts, and use the newly-updated prices for the BUY items.  Each make item's price is updated in the PriceList, if there's been a change.  A bit of recursive programming made the BOM explosion fairly easy.
    The result is one (or more) PriceLists that reflect an averaged cost for non-make items, and essentially a BOM rollup cost using the updated component costs.  We'll be running it nightly, which should provide fairly good reference values.  I'm still hoping that SAP will, at some point, add some kind of automated BOM rollup functionality that responds to changing component costs.
    Dave

  • Identity Column in SQL Server 2000

    I am working on SBO Version 2004a.
    I created <b>Identity Column</b> in User Defined Table and made the entries for this Table and its columns in Sap Business One OUTB and CUFD tables respectivily.
    I use this identity column to populate the Code and name fields automatically using Insert triggers.
    I add 10 records to the table and now delete the 5th record. The Identity column and the code field will contain values as (1,2,3,4,6,7,8,9,10)
    Now on Upgrading the patch level( SAP Business One 2004A (6.70.190)  SP: 00  PL: 36), the Identity column is converted to simple INT column and no Identity column property is attached to it.
    There is no T-SQL in SQL 2000 to convert an existing column to Identity Column hence I can not convert it back to Identity Column.
    The Only Solution is to drop the column and re-create it as an Identity Column.
    If I do so, the Identity column is polulated for all the rows starting from 1 to 9 (seed is 1).
    Now on adding the next record, the primary key voilation occurs on the Code field since the next available Identity column value is 10 but this value is already used in 9th record.
    <b>Is there any way so that the patch do not change the definition of the User defined tables and their columns.</b>
    Thanks
    Vishal Nigam

    Hi Vishal,
    I agree with Harold. It's against SAP's support policy to allow anyone to change SBO table definitions in any way. Other SQL objects such as stored procedures or triggers will probably be unaffected by an upgrade but it is highly likely that changes to tables will be reverted and may even cause the upgrade to fail.
    There is one other possible solution, depending on how you are using the table. It is to create your own table in SQL, i.e. a table in the SBO company database but which is not a user-defined table. SBO itself will be totally unaware of the table but you could read and write to it via code (if you have written an add-on).
    Kind Regards,
    Owen

  • Error creating incoming payment. (ODBC -2035)

    The error that I get while creating an incoming payment is:
    This entry already exists in the following tables (ODBC -2035)
    Here is the code:
    public static bool CreatePayment()
           DateTime now = DateTime.Now;
           Payments pmt = (Payments) m_company.GetBusinessObject(BoObjectTypes.oIncomingPayments);
                pmt.ApplyVAT = BoYesNoEnum.tYES;
                pmt.CardCode = invoice.CardCode;
                pmt.CardName = invoice.CardName;
                pmt.CashSum = 0;
                pmt.ContactPersonCode = invoice.ContactPersonCode;
                pmt.DocCurrency = invoice.DocCurrency;
                pmt.DocDate = now;
                pmt.TaxDate = now;
                pmt.DocRate = 0;
                pmt.LocalCurrency = BoYesNoEnum.tYES;
                pmt.DocType = BoRcptTypes.rCustomer;
                pmt.HandWritten = BoYesNoEnum.tNO;
                pmt.JournalRemarks = "journal remarks";
                pmt.Remarks = "remarks";
                pmt.Reference1 = baseEntry.ToString();
                pmt.TransferSum = 0;
                // invoice
                pmt.Invoices.AppliedFC = 0;
                pmt.Invoices.DocEntry = baseEntry;
                pmt.Invoices.DocLine = 0;
                pmt.Invoices.InvoiceType = BoRcptInvTypes.it_Invoice;
                pmt.Invoices.SumApplied = amount;
                // credit card
                pmt.CreditCards.AdditionalPaymentSum = 0;
                pmt.CreditCards.CardValidUntil = Util.CCDateToDateTime(cardExpirationDate);        
                pmt.CreditCards.CreditCard = bp.CreditCardCode;
               pmt.CreditCards.CreditCardNumber = ccNumber;
                pmt.CreditCards.CreditSum = amount;
                pmt.CreditCards.CreditType = BoRcptCredTypes.cr_InternetTransaction;
                pmt.CreditCards.FirstPaymentDue = now;
                pmt.CreditCards.FirstPaymentSum = amount;
                pmt.CreditCards.NumOfCreditPayments = 1;
                pmt.CreditCards.NumOfPayments = 1;
                // there's a record in OCRP  (credit card payment methods)   
                pmt.CreditCards.PaymentMethodCode = 1;
                if (pmt.Add() != 0)
                    int errCode;
                    string errMsg;
                    m_company.GetLastError(out errCode, out errMsg);
                    // here errMsg is "This entry already exists in the following tables (ODBC -2035)"
                    return false;
                return true;
    I had 53 records in ORCT (incoming payments) but the next number in NNM1 and ONNM was 1. So I assumed that it was wrong and tried to set NNM1.NextNumber and ONNM.AutoKey to 54 for ObjectCode = 24 (Incoming payment).
    The error remained the same. Then I removed all records from ORCT and its subordinate tables RCT1, RCT2, RCT3,.... and changed the next number back to 1.
    The error is still: "This entry already exists in the following tables (ODBC -2035)".
    Do you have any ideas what may cause the above error and how I can get more info which is the entry that already exists and in which table?
    The code above works on another company (database).
    Thanks.
    Svilen

    Thanks Alexey,
    Please note that I have manually modified SBO tables once the problem appeared not before. I do not know how receipt numbers got out of sync.
    I also find the message "This entry already exist in the following
    tables" without actually specifying any table, strange, the least.
    The SDK is not particularly good and the samples in the help file are outdated and therefore wrong.

  • DTW - Cancel Purchase order

    How i can cancel a Purchase Order using the DTW?
    thanks for your colaboration

    Hi Jimmy,
    Unfortunately it's not a question of what does or doesn't work but what SAP will allow as part of their support agreement. In this agreement it clearly states that the user will not directly update the SBO tables. If you do then the agreement is effectively null and void. If SAP find a site has updated their database directly through SQL then they would be perfectly within their rights to withdraw support and walk away, leaving the site with unsupported software.
    By updating the OPOR table directly, you are corrupting the database. It may not have a direct effect on the live data but your OPOR table no longer matches to your transaction history table (ADOC). This can be easily spotted by anyone looking for this type of issue.
    SAP do have the authority to run queries on the tables and have done so for us on a number of occasions to fix issues for our clients. But we are not allowed directly to do this. Issues of this nature should always be logged as support with SAP. I know it's very tempting to look at a direct SQL issue for some problems (I used to work on other ERP systems which did allow this kind of update) but you just have to ignore the temptation and deal with the issue in another way.
    Kind Regards,
    Owen

  • How to change Code, Name Lenght & Description

    Hi,
    How can I change the fields that are automatically generated when you create a Table? (Code & Name)
    I want to create tables with diferent kind of Key.
    For example:
    I want a date to be the key of a master file. I don´t need a name in this master file.
    I want a code with different lenght (default is 8) for another master file.
    Etc.
    I Have seen the e-learning, tutorials, and tried to create tables and fileds by code, but DI APIs always create these two fields, and I havén´t find a way to override it. I Haven't find information about it.
    I look at B1 Tables and there are different code and name fields. That´s the reason I think there would be a way to change this attributes.
    Thanks a lot.
    Guillermo

    Hi Guillermo,
    I'm afraid there is no way to override the creation of the Code and Name fields on a UDT. You could use your own non-SBO tables (SAP don't recommend it but it is allowed within certification rules) but that approach does have limitations as well (eg user can't see your table in Query Generator).
    Kind Regards,
    Owen

  • How to create reports for add-on

    Hello,
    I have an Add-on with two parts: 1. a web interface that has regular SQL tables and 2. a SBO UI API interface that thas UDT.
    I want to create several reports for this add-on but I am not sure what i should use:
    1. I cannot use XL Reporter since i cannot run reports on UDT.
    2. I cannot use Query Manager because i cannot see the regular SQL tables.
    3. I know I cannot use Print Layout Designer.
    Also, it is true that when i upgrade SBO my regular SQL tables are going to be erased?
    Thank you for your help,
    Irina

    Hi Irina,
    I think most developers revert to using a third-party add-on such as Crystal Reports or SQL Reporting Services as these offer an easy way to interface with .NET.
    You should be able to reference non-SBO tables in a Query Manager query, SBO won't stop you querying any data from either your local database or any linked server (assuming your login has the necessary permissions). If the tables are in different databases and have different collations then you may get collation conflicts but these can normally be prevented by creating temporary tables and enforcing the correct collation. I'm not sure if you can then link this type of query to a report to get a printout.
    I've never heard of any non-SBO tables being deleted or modified by either a patch upgrade or a version upgrade. According to the certification process, it's allowed but not recommended.
    Kind Regards,
    Owen

  • Can I create x1 CR layout for all databases

    Hi
    Is it possible to have x1 Crystal Report Layout for x17 Databases with different Logos (Logos are based off the databases), a little detail:
    We have x17 databases on the same SQL Server, I have created a Crystal Report which can be used for all companies / databases but I am wanting to know if there is a possibility to have this x1 Crystal Report and everytime you print from the relevant database it pulls that specific company Logo? Is there any Crystal Syntax to create this? especially when the field is labelled "Picture2" and is not a SBO Table & Field.
    It seems logical than having x17 Crystal Reports.
    Any ideas?
    Regards
    Kurt Walters

    Hi Julie
    Thanks for the reply, for your last alternative:
    "An alternative is to embed all 17 picture files into your layout, one on top of the other, and conditionally suppress each one based on the database name"
    I tried this with an If statement based off Company Name on the OADM table but was having issue with the If Statement (Format Editor > (X+2) Button next to Supress > Format Formula Editor - Suppress).
    I will give the Print Preferences a Go but will it be possible with a If statement?
    Regards
    Kurt Walters

Maybe you are looking for

  • Need advice on Hardware & Disk Setup for Premiere Pro CS6

    I am about to purchase a Mac Pro and after reading threads on hardware requirements & different disk setups I am still a little unsure which way to go. If someone could point me in the right direction would be greatly appreciated. Firstly this system

  • Posting Payment Lot using Transaction FP05 Tcode in SAP IS-U From Database

    Hi, I want to post a payment lot, using transaction FP05. It is BDC.  Data is in Database that have to be posted on SAP ISU , If anyone knows how  FP05 tcode structure please give your suggestions. So i can send the data to ISU using XI with JDBC Tha

  • DateAdd() in 10g

    I am trying to use DateAdd() function in 10g, but it always returns error ' invalid identifier ' and asking to define DATEADD. Is the function supported in 10g or what function I should use to do the same? Thanks, John

  • Palm OS download crash

    I have attempted to d/l Palmone 4.1.04.20 (PD414setup) and my system crashed.  I can not reload as error 1607: Unable to install InstallShield Scripting Runtime appears.  I can not uninstall by add/remove programs as message says another install is i

  • To create a table in script error

    hiii experts, i have a requirement to create a table in script in the main window,but iam dividing two columnslike matnr and maktx, can i divide 5 columns how to do it. my coding in the main window(textelement) DEFINE &SAPSCRIPT-COUNTER_0& = -1 BOX Y