We just released a revised product road map today. It details our plans for SAP Business One version 9.2 and other deliveries, as well as general updates and adjustments.
See what’s ahead – including functions to meet new business needs, technologies, and expanded coverage.
SAP customers and partners can find all SAP solution- and product road maps in a consistent formatandregularlyupdated in theService Marketplace (SMP): http://service.sap.com/saproadmaps. (requires S-User)
The product road map for SAP Business One is available under Solution Road Maps -> Cross Topics or via this direct link in English.
In the recently released version of SAP Business One, the Production enhancements offer manufacturing clients significant benefits, particularly those in (or working towards) light manufacturing.
In this week’s post we have summarised some of the major updates and the benefits they can bring to an organisation’s production capability.
Ensuring you have enough capacity and resources to complete all orders.
New Module-Resources linking to Mainstream Production Module
The enhancement now enables you to use Manual Method (previously it would only work with back flush method)
Bulk updates of BOM
Information about resources as well as textual information has been added to the module
Items can be based on process flow
Stock Transfer Request, Stock Transfer, and Packing List can be done from the production order
Upon closing a production order, any difference for non-standard cost parent items posted to the WIP Variance account is posted to the Inventory account of the parent item
If a User Defined Field (UDF) with the same name and same type exists in both the Bill of Materials window component table and on the Production Order window table, then on entry of the parent item into a production order, the values of the UDF fields from the Bill of Materials window are copied into the corresponding UDF fields in the Production Order window
By setting a UDF field in the Bill of Materials window to hold a link to a file, you cause that link to be copied into the corresponding UDF field in the Production Order window. This feature is important as a means of handling attachments such as manufacturing plans or other documents.
Production Business benefits
More efficient planning and monitoring production capacity
Easier tracking of costs
Improved BOM management
By-product components are handled more easily
New module for planning and managing resource capacity more efficiently
Define components for machines, labour or other resources (by group or type)
Link info to fixed assets and employee data with the individual Resource Master Data
Resource capacity allocation can be done by setting a daily capacity or by manually allocating for specific days
New column type at row level for BOM and Production Order
Resources business benefits
Bird’s eye view - visibility of available capacity to avoid bottlenecks and optimise production plan
Resource costs are included in the final product cost
Resources can now be recorded in the BOM so users can do their capacity planning and achieve more accurate product costing
Manual issue method for by-products is now enabled in addition to the Back flush issue method
By-products are then displayed in receipts from production
The ability to receive by-products with the Manual issue method enables you to manage them with the Serial/Batches valuation method
Upon receiving a by-product in the receipt from production, you can define its cost in the Unit Price field.
Examples of by-products include in chemical production, food and beverage production and metal plate cutting, where the remaining products are re-used for producing another item(s).
By-products business benefits:
Various by-products can be produced within one single production order.
The receipt of by-products can be controlled by the user using the Manual Issue Method
Additional quantities enhancements
Additional Quantity (also known as Setup Quantity) is one or more component of the production process that requires resources either at the beginning or at the end of a production process in order to complete the final item. Additional quantities are not affected by the number of parent items to produce.
Examples include, machine startup time (resource) or a lead component used to adjust the machine (item).
Additional quantities business benefits
Machine setup time or lead component consumption can be managed using additional quantities.
Bill of Materials (BOM) enhancements
There is a new functionality in B1 V 9.1 for mass changes to components in bills of material - you can perform mass changes in multiple existing bills of material simultaneously.
Add new components to selected bills of material
Delete specific components from selected bills of material
Change parameters (such as quantity, warehouse, issue method, etc.) for selected bill of material components
Replace bill of material components
New tab on the item master data for production
The Production tab contains all production relevant data
Phantom Item and Issue Method fields have been moved from the General Tab
New fields for BOM Type, No. of Item Components and No. of Resource
The WIP (Work in Process) account can be added on the bill of material and/or production order row level
The WIP account on the row level can be used if you want to manually specify a WIP account for specific item or resource component
By default this field is empty and the WIP account from the standard G/L account determination rules is used
When specific WIP account is entered then it has a higher priority than other G/L Account determination rules
Interim WIP Consolidation Account Mapping - This functionality provides mapping for multiple WIP accounts such that upon the closing of a production order, the WIP account postings for sub-assembly components are all zeroed down and transferred to a single sub-assembly interim WIP account.
BOM business benefits
Easy Maintenance - Mass BOM update makes BOM management much easier and more efficient
Row shifting allows changing the routing sequence in BOMs and production orders.
The SP_TransactionNotification is to receive notification on any transaction - in other words to do some validation in SAP Business One and prevent the user from doing an action if the validation condition fails. This stored procedure(SP) is created automatically with each database.This stored procedure is fired whenever operations are performed on business objects like document or master records and User-Defined Objects.
The SBO_SP_TransactionNotification stored procedure is created automatically when new company is created in SAP Business One.
Below are the parameters:
returns a string representing the type of object which is a numerical value
It may have values of:
A (where a record was added)
U (where a record was updated)
D (where a record was deleted),
C (where a document was canceled)
L (where a document was closed)
This returns a tab-delimited list of values required to retrieve the object from B1.
a integer value shows the number
message needs to be show as a message to user
please make sure you always go through the “@error, @error_message” at the end, especially in the case where you want the transaction to be considered as successful. Without the return of these 2 values, SAP Business One will consider the transaction as failed.
Adding Code to the Stored Procedure
Look at a sample code that uses it. The SBO_SP_TransactionNotification stored procedure should be modified to include the following Transact-SQL code. Add the following text to the section of the stored procedure that says "Add Your Code Here"
Only the query needs to be change according to your need.
Comment within SQL statements do not affect the statement execution. You can comment statement in to ways.
In line comments < -- > or block comment < /* */>
Difference between PostTransactionNotice and TransactionNotification procedure
The only differences being when they are triggered and the ability to use the @error functionality of SBO_SP_TransactionNotification to rollback transactions. SBO_SP_PostTransactionNotice can only be triggered at the end of an action (transaction committed). Most users only use SP_TransactionNotification because it can be used to verify data to block unwanted posting.
I have had the request from several SAP Business One customers to view the last price given to a specific customer for a specific item. Well the only real solution I could come up with would be to make an FMS on the price with a query. This is an OK solution but I came across a much slicker solution when searching the SAP help file for something completely unrelated.
Turns out there is a secret "Last Prices Report" which is build in (I'm testing on SBO 9.0 PL07, but I verified it on 8.82 PL13 as well). This report is not apparent but is easy enough to get to.
When you are adding a row to a document all you need to do is click in the field for price for the item you want and click CTRL + TAB.
The report looks like this:
It has all sorts of nifty options as well.
So if you ever get this request remember CTRL + TAB!
At some point in your SAP Business One consulting career you will get the question as to WHY the Inventory Audit Report (Inventory >> Inventory Reports >> Inventory Audit Report) doesn’t match the GL balances or balance sheet totals.
Generally this question is during the year end closing process where accountants want to see what makes up the balance of the inventory balance.
SAP Business One is designed to give you this information UNLESS you manually adjust the inventory accounts via journal entry. At the point where you manually adjust the inventory accounts then SAP will no longer spit out the inventory audit report with the exact same balances as the GL accounts.
If your customer is using the cycle count, inventory posting, inventory revaluation and goods issues/receipts they should be able to manage their inventory properly without the need to manually adjust with a journal entry. This is just lazy.
I wish SAP had the option to turn inventory accounts into control accounts like the Accounts Receivable and Accounts Payable accounts but the option doesn’t exist yet. So what I did was to just make a TransactionNotification query that will block manual journal entries to any account linked to an Item Group.
Here it is:
— MJT: Block manual journal entries to inventory accounts /* IF (@transaction_type = ‘A’ OR @transaction_type = ‘U’) AND @object_type = ’30’ BEGIN IF EXISTS(SELECT T0.[TransId] FROM OJDT T0 INNER JOIN JDT1 T1 ON T0.[TransId] = T1.[TransId] INNER JOIN OITB T2 ON T1.[Account] = T2.[BalInvntAc]
WHERE T1.[TransType] = 30 AND T0.[TransId] = @list_of_cols_val_tab_del) AND (SELECT S0.[DspIITMDoc] FROM ADM1 S0) = ‘Y’
BEGIN SELECT @error = -10, @error_message = ‘Direct Journal Entries to Inventory Accounts Not Permitted [Journal Entry – Account Code] [Message 60110-30]’ END END
To install it you would want do the following steps:
Open MS SQL Management studio
Open your live DB (or test db if you want to verify)
Go to Programmability >> Stored Procedures
Right click SBO_SP_TransactionNotification and select “Modify”
Find the space in the query where it says “– ADD YOUR CODE HERE”
Paste my code in
Push “!Execute” along the top
When it runs it should say “Command(s) completed successfully.” and then manual journal entries will be blocked. All other system generated entries will work fine, just the manual entries to inventory accounts.
Then when they run the Inventory Audit Report it will match perfectly!
When you make a dropdown list in SAP the data is stored as a code in the system. When trying to do an SQL query or Crystal Report you will find that only the code is output so the user reading the query / report doesn’t see the description.
You could do a case statement like this:
SELECT CASE WHEN T0.[U_UDF] = ‘A’ THEN ‘Alligator’ WHEN T0.[U_UDF] = ‘B’ THEN ‘Bumblebee’ WHEN T0.[U_UDF] = ‘C’ THEN ‘Cat’ ELSE NULL END
But this isn’t very pretty and frankly is annoying if you have more than three or four options. Same with Crystal Reports; you would have to manually write a formula and have this evaluate while the report is generating which is annoying.
There is a simple solution for this which is table UFD1. This is not listed in the query manager so you would want to play around with it in SQL Management Studio to see the structure:
UFD1.TableID – NVARCHAR(20) – The table name where the UDF is located (in my example I will use a UDF called UDF on the OCRD or BP Master Data table) UFD1.FieldID – INT(6) – Represents a code correctional to the specific field on the form. Not necessarily ordered 1, 2, 3, 4 since not every field has predefined options. So you need to look at the table to find the specific field you want (in my example it turns out to be 37) UFD1.IndexID – INT(6) – The order of the predefined value in the UDF combobox. UFD1.FldValue – NVARCHAR(254) – The code value of the predefined option for the UDF. UFD1.Descr – NVARCHAR(254) – The description of the value of the predefined option for the UDF. This is what we want!
So the easiest way to find the field you are looking for is to go to SQL Management Studio and run the following query:
SELECT * FROM UFD1
This will give you the list of all the predefined fields. Then you have to filter for the table you are using. In SAP Business One click View >> System Information to turn on the system information viewer then hold your mouse over your new UDF and look at the bottom left of the screen. You should see the appropriate table. In my example it’s on the Business Partner Master Data which is OCRD. But it can be on any form.
Then you want to run:
SELECT * FROM UFD1 WHERE TableID = ‘OCRD’ (replace OCRD with your table name)
Then you will see just a list of UDFs on the specific form you are working with and it should be easy to identify the FieldID of the correct set of results.
Then you run:
SELECT * FROM UFD1 WHERE TableID = ‘OCRD’ AND FieldID = 37 (replace 37 with your actual FieldID)
The results will be just the information need and your selected descriptions should be visible.
Now you want to output this into a query you just have to do a LEFT OUTER JOIN to your main table by the FldValue. Something like:
SELECT T0.[CardCode] ,T0.[CardName] ,T1.[Descr] ‘My UDF’ FROM OCRD T0 LEFT OUTER JOIN UFD1 T1 ON T0.[U_UDF] = T1.[FldValue] AND TableID = ‘OCRD’ AND FieldID = 37
Finally you want to restrict the joined table to only come from the OCRD table and the specified field. Make sure you change U_UDF to your UDF field name, the TableID to the table you are working with and the FieldID to the specific field you are working with.
The results will be output but the description of the UDF will be the third column instead of simply the UDF code. Don’t forget to “LEFT OUTER JOIN” the UFD1 table or you will get limited results.
To use in Crystal Reports it would be slightly more tricky but you could do either a Crystal Reports command or an SQL view and join it onto the field in the Database Expert. Comment below if you want me to do a video screencast on how to do this!
Since SAP Business One 9.0 I had been hearing about new EFT capabilities built right into the system and I had a client request this feature so I decided to really dig into the subject. So after a LOT of investigation and testing I will summarize in plain English what I found.
(NOTE: my focus here is on EFT files, NOT bank reconciliation files but SBO can do this as well. I will attempt to note this whenever possible.)
SAP Business One Has a Really Well Thought Out EFT System
It’s hard to find and understand but it is well thought out once you get the hang of it. It can do EFT files for payment, import files for bank reconciliation and generate CSV files in specific format for any other file type you would want to work with. I was using it specifically for an EFT outgoing payment file to a bank for payments.
The Electronic File System is Two Part
It is not documented very well but you need two SAP add-ons to make this system work properly. One to edit the files called Electronic File Manager (EFM Format Definition) and then one to generate the payment file from the Payment Wizard (Payment). Both should come with a standard installation, in this screenshot I’m using SBO 9.0 PL15.
Built into SBO all you need to define is the file format for the payment method (Administration >> Setup >> Banking >> Payment Methods) for it to be activated with your particular payment method. Of course you need to define the payment method as default for the vendors (this can be done with DTW) and then you are good to go with the payment wizard. If you are having issues with the actual upload to the “File Formats – Setup” just right click the row and click “Assign Format Project…” to assign your file.
The System is Based on Crystal Reports
The EFM uses a very nice Crystal Reports data source setup. You can import and export datasources to Crystal to make modifications, re-import them easily (with automatic link updates) and generally craft your output data using CR grouping and formatting. There is a limited set of formatting formula options within the EFM tool though.
The Actual File Export is Hard to Find!
I made my file and installed it without any issues but finding the actual output was damned near impossible. Once I found it though, the system was pretty tight, letting you generate test files and even recompile the information source before exporting. SO, if you spot missing bank information or the bank rejects the file for some reason you can make the changes and regenerate the file before exporting.
Once you find the little button then you are good to go, but I had no idea where to find it! Here is what the screen looks like:
The button is on the very last page of the Payment Wizard form at the bottom and is only visible when the “Payment” add-on is running.
Documentation is Hard to Find
You will find an ooolllddd expert empowerment session which is referenced but it doesn’t really have the information you are looking for (2007A time period). But if you look hard enough you will stumble across a couple of good references. Here are some links:
You can also use the EFM help file which has a lot of information specifically for formatting and editing within the editor but good overall reference once you find it. Activate the add-on called “EFM Format Definition” from SBO, then relaunch the client. Once installed and running go to Tools >> Electronic File Manager: Format Definition to run the editor. Once in the editor click Help >> Online Help or F1.
There is a Great Sample to Start With
In Reference #2 there is a .BPP file which is a great starting point to understand the structure, I don’t think two banks will be exactly the same so you will likely be adapting it from scratch any way you approach it.
There is NO Standard Layout
From what I can see, each bank (I’m located in Canada, maybe USA or other is different) has their own type of file format definitions that differ slightly (or majorly depending on your bank).
Here are the formats that come with the system:
(NOTE: Minus the 80Byte which is my own)
So if any of those formats fit your definition exactly then you are in luck and it will save you a ton of work. If not, then you will have to get the file format definition from your bank. Also as a side note, banks may or may not be willing to really help you out with the formatting and testing, depends on the bank and branch, etc.
With the two add-ons in place and the reference materials you load up your EFM program and use the template as a starting point, from there you can just add sections and subsections based on your bank documentation. Upload the file and associate it with the payment method of choice (must be bank transfer) and then set as default for vendors. As you are using the payment wizard the steps will be the same, once you get to the very end and the run has been executed, just look for the button in the lower left area to generate your file. Upload to your bank et voilà!
There are five steps in preparing for the SAP Business One Implementation and Support (CTB1200) exam.
Step 1 – Learn the basics of the SAP Business One product
Step 2 – Learn implementation and support skills
Step 3 – Study for the exam
Step 4 – Take a practice test
Step 5 – Sign up for the exam
Let's look at each step.
Step 1 – Learn the basics of the SAP Business One product
The basic product knowledge needed for the exam is covered in the SAP Business One Logistics (TB1000) and Accounting (TB1100) courses. The material from these courses is found in several places, but the best place to start is here on SCN.
You can begin with the SAP Business One Academy pages. Why is this best? Because all the materials are free and do not require any special user or password to access. The TB1000 Logistics and TB1100 Accounting course materials are found on the Overview page, the Logistics page, and the Accounting page. All the topics covered in the exam are marked with asterisks so they are easy to spot.
Additionally, translations of the course texts and exercises in other languages are available on the SAP PartnerEdge . Note that only SAP Partners can access the SAP PartnerEdge.
And of course, just taking the courses alone will not be enough to master the basics -- you will need an SAP Business One system to practice on. Once you have a system, you can download the exercises/solutions from the SAP Business One Academy pages to begin practicing.
Step 2 –Gain implementation and support skills
After getting the basic product knowledge, the next step is to gain implementation and support skills. We recommend working with an existing partner to get hands-on experience.
Additionally, you will also want to take the course that covers SAP Business One implementation and support (TB1200). The TB1200 course is available for download from the SAP PartnerEdge.Another advantage of working for an existing partner is that you will have S-user ID that will allow you access to the SAP PartnerEdge.
If you are not working for an existing partner, then you will need to take the classroom version of this course. The SAP Training and Certification shop lists when this course is given in each region.
Another way to access training and gain experience for students is through the University Alliance. Here is a link to the University Alliance on SCN: http://scn.sap.com/community/uacStudents can sign up once their University is a member of the program. If you'd like to join and your university is not yet a member of the alliance, please encourage your University to contact SAP Education to join the program.
Step 3 – Study for the exam
The best tool for studying is the Study Guide. Once again you will need an S-user to access the study guide from the SAP PartnerEdge. The study guide gives you a set of questions. If you can answer the questions in the study guide in your own words, then you most certainly can pass the exam. After each section of questions, there are links to the materials that will help you answer the questions.
Step 4 – Take a practice test
The certification exam contains 80 questions. There is a practice test with 40 questions that is structured in the same way as the exam and has similar types of questions. This can be a useful guide to your preparedness. The practice test s also located on the SAP PartnerEdge..
Step 5 – Sign up for the Implementation Consultant exam
My recommendation is to sign up for the 9.0 version of the CTB1200 exam. The 9.0 exam is available in all languages and the links above are to the materials to prepare for the 9.0 exam. To sign up for CTB1200 go to the SAP Training and Certification shop: http://training.sap.com/shop/certification/
However, if you have already been preparing for the exam using materials for the 8.8 version, then you need to sign up for the test soon since this test will only be given through March 2015. After that point, you will only be able to take the 9.0 exam.
Have you already seen the new Workbench widget part of SAP Business One 9.1, version for SAP HANA?
Workbench widget standardizes and visualizes the most common business processes. It not only simplifies the complex functions by grouping common functions together according to different business purposes, but also provides you with a consolidated entry to perform various kinds of jobs.
In SAP Business One, version for SAP HANA, we provide 4 standard templates. However, the standard templates may not precisely meet the business requirements of your company.
In order to enhance the customized functionalities of the workbench widget, Workbench Editor is introduced. With Workbench Editor, you can customize the standard templates from SAP based on your own business requirements. However, you are not able to create a new Workbench process template at the current version.
There is a YouTube video that shows the abilities of the tool step by step
Some days before i needed a Transaction Notification to Block the Receipt of final product whose actual issued quantity is not equal to planned quantity in production order. So first of all i tried to find on SCN and some other B1 sites but did not find any solution,then after that i made a Store procedure which i am sharing with you all.
IF @object_type='59' AND @transaction_type = 'A'
IF EXISTS(SELECT B1.DocEntry
FROM OWOR A INNER JOIN
WOR1 A1 ON A.DocEntry = A1.DocEntry INNER JOIN
IGN1 B1 ON A.ItemCode = B1.ItemCode AND A.DocNum=B1.BaseRef
WHERE A1.PlannedQty<>A1.IssuedQty and a.ItemCode=B1.ItemCode
and B1.DocEntry = @list_of_cols_val_tab_del
GROUP BY A.DocNum,B1.ItemCode,A1.ItemCode,A1.PlannedQty,A1.IssuedQty,b1.DocEntry
SELECT @Error = 1, @error_message = 'Actual Issued must be equal to planned quantity'