Quantcast
Channel: SAP Business One Application
Viewing all 219 articles
Browse latest View live

UDT & UDF related issues

$
0
0

User-Defined Table (UDT) and User-Defined Field (UDF) related issues often have different behaviors. This note provides a few generic queries to detect some common issues about UDT & UDF. If an issue is related to UDT & UDF, the queries provided bellow will detect the inconsistencies known.

 

Description of the bug:

1) UDT is defined but does not exist.
2) UDF is defined on a non-existing table.
3) UDF is defined on an unregistered UDT.
4) UDF is defined but does not exist.
5) UDF valid values are defined for a non-existing UDF.
6) UDF definition does not match actuality.
7) UDF contains extra spaces in field TableID or AliasID in CUFD table.
8) UDF exists but is not defined

 

 

/*1) UDT is defined but does not exist.*/

select TableName from OUTB
where not exists (
select 1 from sysobjects where xtype='U' and name='@'+TableName
)

/*2) UDF is not registered.*/

select * from sysobjects where [name] like '@%' and name not in
(select '@'+tablename from outb
union all
select '@'+logtable from outb where logtable is not null) and xtype='U'

/*3) UDF is defined on an unregistered UDT.*/

select T0.TableID from CUFD T0 where left(T0.TableID,1)='@' and
not exists (select 1 from OUTB T1 where '@' +T1.TableName =
T0.TableID or '@'+T1.LogTable= T0.TableID)

/*4) UDF is defined but does not exist.*/

select TableID, AliasID from CUFD where not exists (
select t0.name, t1.name
from sysobjects t0 inner join syscolumns t1
on t0.xtype='U' and t0.id=t1.id
where t0.name=TableID and t1.name='U_'+AliasID)
and TableID not in ('BTNT', 'OIBT', 'OSRI', 'SRNT')

/*5) UDF valid values are defined for non-existing UDF.*/

select TableId, FieldID from UFD1 T
where not exists (
select 1 from CUFD where TableId=T.TableId and FieldID=T.FieldID
)

/*6) UDF definition does not match actuality.*/

select T1.UDF, T0.nvarchar_size as 'act_size', T1.nvarchar_size as 'def_size' from (
select T2.name + '.' + T3.name as 'UDF', T3.length/2 as 'nvarchar_size' from sysobjects T2 inner join syscolumns T3 on T2.id=T3.id where T2.xtype='U' and T3.xtype in
(select xtype from systypes where name='nvarchar')
) T0
inner join (
select tableid + '.U_' + aliasid as 'UDF', editsize as 'nvarchar_size'
from cufd where typeid='A' and editsize>1
) T1
on T0.UDF=T1.UDF
where T0.nvarchar_size>T1.nvarchar_size

/*7a) UDF contains extra spaces in field TableID in User-fields description CUFD table.*/

select * from CUFD
where datalength(TableID)<>LEN(TableID)
and ascii(SUBSTRING (TableID, LEN(TableID)+1, 1)) =32

/*7b) UDF contains extra spaces in field AliasID in User-fields
description CUFD table*/

select * from CUFD
where datalength(AliasID)<>len(AliasID)
and ascii(SUBSTRING (AliasID, LEN(AliasID)+1, 1)) =32

/*8) UDF exists but is not defined*/

select T1.name, T0.name from sys.columns T0 join sys.objects T1 on T0.object_id = T1.object_id
left join CUFD T2 on T2.TableID = T1.name and ('U_' + T2.AliasID) = T0.name
where T1.type = 'U' and T0.name like 'U/_%' escape '/'
and ('U_' + T2.AliasID) is null
and (T0.name !='U_NAME' and T1.name not in ('OUSR', 'AUSR'))

 

 

Update Query with description:

 

/*1)Below query will delete all users defined tables which are defined but not exist in SQL Server.*/

delete OUTB where '@'+TableName not in (
select name from sysobjects where xtype='U'
)

/* 2 )We recommend to remove the tables displayed by the query from the database directly in the database interface. Please consider this solution according to your customization.*/

/*3)  Below query will delete all users defined fields which are defined on an unregistered UDT.*/

delete from CUFD where left(TableID,1)='@' and not exists (
select 1 from OUTB where '@'+TableName = TableID or
'@'+LogTable = TableID)

/*4) Below query will delete all users defined fields which are  defined but not exist in SQL Server.*/

delete CUFD where not exists (
select t0.name, t1.name
from sysobjects t0 inner join syscolumns t1
on t0.xtype='U' and t0.id=t1.id
where t0.name=TableID and t1.name='U_'+AliasID)
and TableID not in ('BTNT', 'OIBT', 'OSRI', 'SRNT')

/*5)  Below query will delete all users defined fields' valid values which are defined for non-exist UDF.*/

delete UFD1 where not exists (
select 1 from CUFD where TableId=UFD1.TableId and FieldID=UFD1.FieldID
)

/*6) Update the size of the UDF in Application.*/

/*7)Below query will trim extra spaces in the table name. */

/*7a) extra spaces in TableID of CUFD:*/

update CUFD
set TableID = replace (TableID,' ', '') where datalength(TableID)<> LEN
(TableID) and ascii(SUBSTRING (TableID, LEN(TableID)+1, 1)) =32

/*7b) extra spaces in AliasID of CUFD:*/

update CUFD
set AliasID = replace (AliasID,' ', '') where datalength(AliasID)<> LEN
(AliasID) and ascii(SUBSTRING (AliasID, LEN(AliasID)+1, 1)) =32

/*8) We recommend to remove the columns displayed by the query from the database directly in the database interface. Please consider this solution according to your customization.*/


SAP Business One 9 -Security Information for Integration Packages

$
0
0

Security Information for Integration Packages

 

The integration framework security guide gives you information that explains how to implement a security policy

and provides recommendations for meeting security demands for the integration framework.

 

For more information, choose Start --> All programs --> Integration solution for SAP Business One --> Integration

Framework, and then choose Help --> Documents --> Operations, section 6, Security Guide.

 

Security Aspects Related to the Dashboards Solution

                Permission and authentication rules for dashboards:

 

  • The system administrator can decide whether to grant each user full or no permission, for each dashboard, in the Authorizations form.

 

  • By default, with a new company and for all dashboards, a non-super user has no permissions.

 

  • At Run time, the user should be able to view the full dashboard even if this user does not have permissions for underlined user-defined queries.

 

During SAP Business One startup, the SAP Business One user name and password are sent with basic Authentication through HTTP or HTTPS to the integration framework. The integration framework server uses the user name and password to authenticate the user and to return the session.

 

After that, SAP Business One pings the integration framework server from time to time to keep the session active.

The dashboard retrieves the data through the connection through HTTP post functions.

 

Security Aspects Related to the RFQ Scenario with Online

Quotation

You must provide vendors included in the RFQ process access to the online purchasing document on the integration framework server.

You can accomplish this by restricting access to the server to a minimum. To restrict access to the server,

  1. configure the network (NAT) firewall as shown below:

 

  1. Only allow external access to the particular hostname / IP-address

 

  1. Only allow external access to the configured server port.

Default: port 8080 for HTTP, or port 8443 for HTTPS

 

If applicable and available for the particular firewall, configure the restricting URL:

http://<hostname>:<portnumber>/B1iXcellerator/exec/ipo/vP.0010000100.in_HCSX/com.sa

  1. p.b1i.vplatform.runtime/INB_HT_CALL_SYNC_XPT/INB_HT_CALL_SYNC_XPT.ipo/proc?

 

 

Security Aspects Related to the DATEV-HR Solution

 

This scenario requires maximum levels of data security and sensitivity, because it exports personal data. The

DATEV-HR scenario generates employee data for DATEV eG using SAP Business One data. The integration

framework writes the data to a specified directory in the file system. Make sure that only authorized persons have

access to the folder.

 

Ensure that only authorized persons have access to the integration framework administration user interfaces.

Alternatively, collect confirmations from all users who have access that they are aware that this data is sensitive,

and that they may not distribute any data to third parties or make data accessible to non-authorized persons.

 

Security Aspects Related to the Mobile Solution

After the mobile user enters the correct user name and password, the front-end application passes the mobile phone number and mobile device ID (MAC address), together with the user name and password, to integration framework.

 

After receiving the information, the integration framework verifies the following:

 

  • Whether the user is enabled as a mobile user

 

  • Whether the necessary license is assigned to the user

 

  • Whether it can find the telephone number and device ID pair in the SAP Business One user administration

 

  • Whether the user name matches the telephone number and the device ID

 

  • Whether the user has been blocked by the SAP Business One system

 

  • Whether the provided password is correct

 

Then the user is allowed to access the system.

The password is encrypted while it is transmitted to the integration framework, which decrypts the password after receiving it.

 

Using HTTPS

To make communication safer, you have the option to use HTTPS for the sessions in the integration framework.

On the server side you can configure the communication protocol (HTTP or HTTPS). On the client side, you have the option to switch to the HTTPS protocol. By default, the solution runs with HTTPS, and the integration framework allows incoming calls through HTTPS only.

 

License Control

All mobile users have to be licensed before being allowed to access the SAP Business One system through the mobile channel. License administration is integrated with the SAP Business One user and license.

The mobile user also needs the assignment of the B1i license. Authorization within the SAP Business One application depends on the user’s SAP Business One application license

SAP B1 Channel / Implementation partner

$
0
0

Hi,

 

Anyone share the information on procedures and formalities to become a Channel / Implementation partner of SAP Business One.

 

Thanks

How to Schedule a command to SQL Server with SQLCMD

$
0
0

For this you can use SQLCMD from the command line as shown below:

## running a proc to update a view eg ##
SQLCMD -S ServerSQL -d SBODemoUS -U sa -P sap123 -Q "EXEC Proc_Name"

 


## exporting a file as example ##

SQLCMD -S ServerSQL -d SBODemoUS -U sa -P sap123 -Q "SELECT * FROM OITM" -o C:\MyOutput.txt

 

 

## Generically you can use the following syntax ##

SQLCMD -SServerSQL -dSBODemoUS -Usa-Psap123 -Q“Your Query” -s“,” -oC:\MyOutput.csv

 

Now you can go to your file location and open the file and you will see that new csv file created there. When you open the csv file you will notice the results of the query.

 

 

 

You can use SQLCMD combined with the scheduled task

 

 

More information:

 

http://msdn.microsoft.com/en-us/library/ms180944.aspx

http://msdn.microsoft.com/en-us/library/ms162773.aspx

 

Create a scheduled task in Windows Server 2008

http://www.hosting.com/support/windows-server-2008/create-a-scheduled-task-in-windows-server-2008

 

How To Schedule Tasks in Windows XP

http://support.microsoft.com/kb/308569

 

Regards,

 

Marcelo Silva Santos

SQL Scripts to find and Kill all the Blocked Process/Query in a database

$
0
0

SQL Server database administrators frequently need in especially development and test environments to find and kill blocked process. Following scripts are useful in that scenario.

 

--Find All the Blocked Processes

 

SELECT

spid,

status,

loginame=SUBSTRING(loginame,1,12),

hostname=SUBSTRING(hostname,1, 12),

blk =CONVERT(char(3), blocked),

dbname=SUBSTRING(DB_NAME(dbid),1, 10),

cmd,

waittype

 

FROMmaster.dbo.sysprocesses

WHERE spid IN(SELECT blocked FROMmaster.dbo.sysprocesses)

 

 

--Kill all the Blocked Processes of a Database


DECLARE @DatabaseName nvarchar(50)

Set the Database Name

SET @DatabaseName =N'Datbase_Name'

Select the current Daatbase

SET @DatabaseName =DB_NAME()

DECLARE @SQL varchar(max)

SET @SQL =''

SELECT @SQL = @SQL +'Kill '+Convert(varchar, SPId)+';'

FROMMASTER..SysProcesses

WHEREDBId=DB_ID(@DatabaseName)AND SPId <>@@SPId

and spid IN(SELECT blocked FROMmaster.dbo.sysprocesses)

 

--You can see the kill Processes ID

--SELECT @SQL

 

--Kill the Processes

 

EXEC(@SQL)

 



 

Or You can use the following script

-- Script to kill all blocked processes

declare @max_count int, @count int, @sqlstring varchar(100)

declare @spid_table table (spid intNOTNULL)

INSERT @spid_table

select spid

frommaster.dbo.sysprocesses

where spid in(select blocked frommaster.dbo.sysprocesseswhere blocked <> 0)and blocked = 0

select @max_count =MAX(spid)FROM @spid_table

selecttop 1 @count = spid from @spid_table

while @count <= @max_count

begin

select @sqlstring ='kill '+CONVERT(varchar(4), @count)

exec(@sqlstring)

print @sqlstring

IF @count = @max_count

begin

break

end

ELSE

BEGIN

selecttop 1 @count = spid FROM @spid_table where spid > @count

end

end

 

Similarly DBA can kill all the Processes of a Database as

 


-- Kill all the Processes of a Database

DECLARE @DatabaseName nvarchar(50)

--Set the Database Name

SET @DatabaseName =N'Datbase_Name'

Select the current Daatbase

SET @DatabaseName =DB_NAME()

DECLARE @SQL varchar(max)

SET @SQL =''

SELECT @SQL = @SQL +'Kill '+Convert(varchar, SPId)+';'

FROMMASTER..SysProcesses

WHEREDBId=DB_ID(@DatabaseName)AND SPId <>@@SPId

--You can see the kill Processes ID

--SELECT @SQL

--Kill the Processes

EXEC(@SQL)



 

 

--Identify the blocking query


SELECT
db.name DBName,
tl.request_session_id,
wt.blocking_session_id,
OBJECT_NAME(p.OBJECT_ID)BlockedObjectName,
tl.resource_type,
h1.TEXT ASRequestingText,
h2.TEXT ASBlockingTest,
tl.request_mode
FROMsys.dm_tran_locksAStl
INNER JOINsys.databases dbONdb.database_id=tl.resource_database_id
INNER JOINsys.dm_os_waiting_tasksASwtONtl.lock_owner_address=wt.resource_address
INNER JOINsys.partitionsASpONp.hobt_id=tl.resource_associated_entity_id
INNER JOINsys.dm_exec_connections ec1ONec1.session_id=tl.request_session_id
INNER JOINsys.dm_exec_connections ec2ONec2.session_id=wt.blocking_session_id
CROSSAPPLY sys.dm_exec_sql_text(ec1.most_recent_sql_handle)ASh1
CROSSAPPLY sys.dm_exec_sql_text(ec2.most_recent_sql_handle)ASh2
GO

 

-- Script to view all current processes / sessions on the server

 

select*frommaster.dbo.sysprocesses

 

 

Regards,
Marcelo Silva Santo

Reasons for slowdown in SQL Server - Performance Bottlenecks areas

$
0
0

There can be many reasons for a slowdown in SQL Server. We use the following three key symptoms to start diagnosing problems:


·         Resource bottlenecks:


a) CPU

b) Memory

c) I/O bottlenecks

+ network issues.

 

·        tempdb bottlenecks:


what is a tempdb? The tempdb system database is a global resource that is available to all users connected to the instance of SQL Server.

Because there is only one tempdb for each SQL Server instance, it can be a performance and a disk space bottleneck. An application can overload tempdb through excessive DDL or DML operations and by taking too much space. This can cause unrelated applications running on the server to slow down or fail.

 

·         A slow-running user query:


The performance of an existing query might regress, or a new query might appear to be taking longer than expected. There can be many reasons for this. For example:

 

__MCE_ITEM__· Changes in statistical information can lead to a poor query plan for an existing query.

__MCE_ITEM__· Missing indexes can force table scans and slow down the query.

__MCE_ITEM__· An application can slow down due to blocking even if resource utilization is normal.

__MCE_ITEM__· Excessive blocking can be due to poor application or schemadesign or the choice of an improper isolation level for the transaction.

 

The causes of these symptoms are not necessarily independent of each other. The poor choice of a query plan can tax system resources and cause an overall slowdown of the workload. So, if a large table is missing a useful index, or if the query optimizer decides not to use it, the query can slow down; these conditions also put heavy pressure on the I/O subsystem to read the unnecessary data pages and on the memory (buffer pool) to store these pages in the cache. Similarly, excessive recompilation of a frequently-run query can put pressure on the CPU.

 

 

Possible bottleneck area

Effects on the server

Memory usage

Insufficient memory allocated or available to Microsoft SQL Server degrades performance. Data must be read from the disk rather than directly from the data cache. Microsoft Windows operating systems perform excessive paging by swapping data to and from the disk as the pages are needed.

CPU utilization

A chronically high CPU utilization rate may indicate that Transact-SQL queries need to be tuned or that a CPU upgrade is needed.

Disk input/output (I/O)

Transact-SQL queries can be tuned to reduce unnecessary I/O; for example, by employing indexes.

User connections

Too many users may be accessing the server simultaneously causing performance degradation.

Blocking locks

Incorrectly designed applications can cause locks and hamper concurrency, thus causing longer response times and lower transaction throughput rates.

 

 

More information:

http://www.sqlserverspecialists.com/2013/06/reasons-for-slowdown-in-sql-server.html

http://www.mssqltips.com/sqlservertip/2316/how-to-identify-sql-server-cpu-bottlenecks

http://sqlserverplanet.com/troubleshooting/sql-server-slowness

http://support.microsoft.com/kb/298475

http://msdn.microsoft.com/en-us/library/cc966540.aspx

http://www.sqlperformance.com/2013/05/io-subsystem/cpu-troubleshooting

 

Regards,

 

Marcelo Silva Santos

SAP Business One 9.0, version for SAP HANA PL01 available

$
0
0

Hi all!

 

Some weeks have passed since we announced the release of SAP Business One 9.0, version for SAP HANA.

With this new blog we will like to announce that SAP Business One 9.0, version for SAP HANA PL01 is already available, so you can update to the latest patch release.

 

You will need to install first the SAP Business One 9.0, version for SAP HANA installation package, afterwards you will be able to upgrade to PL01.

 

Don't forget to check the following very important SAP Note giving details about SAP HANA matching versions for all B1H releases:

1841037 - Central Note for SAP Business One 9.0, version for SAP HANA (SAP S-user required).

 

Check my previous blog if you look for more details on SAP Business One 9.0, version for SAP HANA

 

Just try it!

How to block the change of the columns in the documents and results

$
0
0

To realize the blockades in the columns of the documents and results we use the following combinations. If anyone has other suggestions, please add a post.

 

 

Administration >> System Initialization >> Authorizations >> General Authorizations:

- General -> Edit Document tables
- General -> Settings document

 

 

and/or

 

 

1062635 - Can I block a user from having access to Form Settings

 

 

and/or

 

 

You can blocking according with TransactionNotification include the fields:

 

-- Column can not be modified --

if@object_type=('218')and@transaction_typein('A','U')

     Begin

        if (selectCOUNT(*)

            fromCHFLT0

            whereobjnamein('OITM','OCRD')ANDGroupBy<>'N')> 0

     Begin

            Set@error= 1

Set@error_message='Column can not be grouped'

 

END

END

 

 

http://scn.sap.com/community/portuguese/business-one/blog/2013/06/30/como-bloquear-a-altera%C3%A7%C3%A3o-das-colunas-nos-documentos-e-resultados

 


Regards,

 

Marcelo Silva Santos


SQL SERVER – How to Set Variable and Use Variable in SQLCMD Mode

$
0
0

Enable sqlcmd mode in SQL Server Management Studio as described in following image.

 

 

Now in query editor type following SQL.

 

:SETVAR DatabaseName "SBOPRODIR"

:SETVAR SchemaName "dbo"

:SETVAR TableName "OITM"

 

USE $(DatabaseName);

SELECT * FROM $(SchemaName).$(TableName);

 

Note that I have set the value of the database, schema and table as a sqlcmd variable and I am executing the query using the same parameters.

 

 

SQLCMD is a relatively simple language to master and it also aids in doing various tasks easily.

 

References:

http://blogs.msdn.com/b/sql_server_appendix_z/archive/2013/02/23/sql-server-management-studio-sqlcmd-meets-the-richter-scale.aspx

http://blog.sqlauthority.com/2013/06/28/sql-server-how-to-set-variable-and-use-variable-in-sqlcmd-mode

http://msdn.microsoft.com/en-us/library/ms188714.aspx

 

 

Regards,

 

Marcelo Silva Santos

SAP Business One for iPhone and iPad Settings Example

$
0
0

SAP Business One for iPhone and iPad Settings Example

 

 

This is an example for setting SAP Business One for iPhone and iPad

 

1.In Mobile device:

 

Settings->Business One, an simple example is as below:

 

1.JPG

 

2. In Business One, Administration->Setup->General->Users, an simple
example is as below:

 

(Mobile Device ID:"/BB:CC:DD:11:22:33" is for the second mobile device)

 

2.JPG

To download and install SAP Business One for iPhone and iPad on an iPhone, iPad, or iPod touch, go to Apple App Store and search for SAP Business One. You can also follow this link http://itunes.apple.com/app/sap-business-one-mobile-application/id392606876

 

For complete information, you can refer user guide for " SAP Business one for iPhone and iPad" which can be downloaded from SAP Business one customer portal.

 

Applicable releases: SAP Business One 9.0 PL04, SAP Business One 8.82 PL12, SAP Business One 9.0, Version for SAP HANA PL00, SAP Business One OnDemand 1.0 PL02, SAP Business One for iPhone and iPad 1.9.x

 

Regards,

Nagarajan

SAP Business One 9.0 PL05

$
0
0

SAP Business One Dashboard (version 2)

$
0
0

Dear Expert,

 

Few more Dashboards for better vision about product line profitability.

Product Line .jpg

 

 

Product Line  2.jpg

 

Thanks

Kevin Shah

+254 786 569 085

What’s new in SAP Business One Version 9.0

$
0
0

Dear All,

 

I share my knowledge to " What's new in SAP Business One Version 9.0".

 

SAP has continued to invest in extending the core functionality of  SAP Business One across a number of different business functions and has made available its first major release in the Release Family 9, SAP Business One version 9.0.

 

By introducing a centralized implementation framework and extending the current implementation tools, SAP Business One 9.0 makes SAP Business One easier to implement, and with improved integration, a number of SAP Business One extensions are now fully integrated into the core product offering.

 

SAP Business One 9.0 is easier to customize and extend, offering new development tools, the SAP Business One Studio Suite, including key technical infrastructure enhancements supporting better performance and security compliance.SAP Business One 9.0 enabling users to define, customize and execute workflows for key business processes, providing greater process flow transparency, standardization and control across SAP Business One.

 

 

Below you will find more in-depth descriptions of the updates and added functionality of SAP Business One Version 9.0:

 

SAP Business One 9.0 Accounting

 


SAP Business One 9.0 Advanced GL Account Determination


SAP Business One 9.0 provides a flexible and centralised system to manage inventory G/L account determination. With the advanced G/L determination rules, you can assign inventory G/L accounts by item groups, items, warehouses, business partner groups, ship-to countries, and various combinations of all the above criteria.

 

SAP Business One 9.0 Financials

Deferred Tax Enablement in Manual JE


SAP Business One 9.0 enables you to manage deferred tax in manual journal entries, journal vouchers, posting templates, and recurring postings

 

SAP Business One 9.0 Fixed Assets


SAP Business One 9.0 allows you to manage fixed assets using a fully integrated solution. In addition to the functions provided by the Fixed Asset Solution in SAP Business One 8.82, the fixed assets functionality implemented in SAP Business One 9.0 enables you to do many things that were out of reach with previous versions of SAP Business One.

In order for you to better manage your fixed assets in SAP Business One, SAP Business One 9.0 has also enhanced some functionality from the add-on, such as the use of the ‚ ‘Declining Balance‛‚ ‘Special Depreciation‛, and ‘Multilevel‛ depreciation methods, depreciation forecast, depreciation run, asset history sheet, and so on.

 

Internal Reconciliation in SAP Business One 9.0


The internal reconciliation functionality has been enhanced to support the following system currency aspects:

    • When performing internal reconciliation, conversion difference postings are automatically created
    • You can display system currency balances due, in various windows, and reports
    • The Conversion Differences report has been enhanced with an optimised calculation of the unrealised conversion difference

SAP Business One 9.0 Sales and Purchasing


Cancellation of Sales and Purchasing Documents

You can now cancel most sales and purchasing documents that normally trigger postings. Upon cancelling such a document, a corresponding cancelation document is created to reverse the associated accounting, tax, and inventory changes. The base documents belonging to the cancelled documents are reopened with balances due restored. You can now copy these base documents to new documents.

 

Adjusting Total Freight in Goods Receipt POs Based on A/P Reserve Invoices

SAP Business One 9.0 supports adjustment of the total freight when creating a goods receipt PO based on A/P reserve invoices under the following conditions:

  • The freight of the goods receipt PO does not exceed the unallocated freight of the base A/P reserve invoices
  • If you have allocated all open quantities of the base A/P reserve invoices to this goods receipt PO, you must allocate all the remaining freight of the reserve invoices to the goods receipt PO
Adjusting Item Cost in Non-Based A/R Return and A/R Credit Memo

The item cost in non-based A/R return and an A/R credit memo is determined by item cost at the time of the document creation. Starting from SAP Business One 9.0, the user can adjust the item cost in these documents. This enhancement applies only to items managed by Moving Average Price or FIFO methods.

 

SAP Business One 9.0 Banking

Payment, Cheque, and Deposit Cancellation Improvements

With SAP Business One 9.0, you are able to do the following:

  • Cancel incoming payments with deposited cheques
  • Cancel deposits partially
Bin Locations
  • Cancel deposited cheques
  • Cancel non-deposited cheques with automatic journal entries
Down Payment Request Reconciliation

SAP Business One 9.0 enables you to manually reconcile, fully or partially, a payment of down payment request with an invoice (regular invoice or reserve invoice, correction invoice is not supported).

 

SAP Business One 9.0 Inventory

Bin locations in SAP Business One 9.0 allows you to manage bin locations for your warehouses. You can enable the bin location function for individual warehouses.

 

Bin Location Related Documents

After you enable the bin location function for intended warehouses, you need to record bin locations in those warehouses for all receipts and issues of inventory, including the processing of the following documents or transactions:

  • Goods receipt PO, goods return, A/P invoice, A/P credit memo, delivery, return, A/R invoice, A/R invoice + payment, A/R credit memo
  • Goods receipt, goods issue, inventory transfer, inventory taking
  • Receipt from production, issue for production
  • Pick and Pack
During the receipt, issue, and transfer of goods, SAP Business One 9.0 lets you automate the process of allocating goods from and to bin locations. You also can perform the allocation manually.

 

Inventory in Bin Locations

To better manage the inventory in your bin locations, SAP Business One 9.0 enables you to do the following:

 

  • View the information of stored items, such as the item quantity, and number of items
  • Restrict the storage of your bin locations, for example, to a particular batch, item, or item group
  • Restrict the use of your bin locations, for example, to receiving or issuing goods only
  • Replenish the inventory in your bin locations if the inventory level falls below the minimum
Bin Location Management

To facilitate the management of bin locations, SAP Business One 9.0 supports the generation, update, and deletion of bin locations in batches.

 

Serials and Batches

SAP Business One 9.0 lets you maintain serials and batches in your bin locations. When you issue serials and batches from bin locations, you can decide whether you want to pick the items according to their bin locations, or their serial and batch information.SAP Business One 9.0 lets you maintain serials and batches in your bin locations. When you issue serials and batches from bin locations, you can decide whether you want to pick the items according to their bin locations, or their serial and batch information.

 

Receiving Bin Locations
SAP Business One 9.0 allows you to designate certain bin locations as receiving bin locations. When you receive goods, these goods can first be automatically placed in receiving bin locations.

 

Reports

 

You can get an overview of all bin locations, and check the inventory statuses and movements in bin locations using the following reports:

 

  • Bin Location List
  • Bin Location Content List
  • Inventory Posting List
Multiple Unit of Measurement (UoM) in SAP Business One 9.0


SAP Business One 9.0 provides a high degree of flexibility to your management of products in multiple units of measurement (UoM). The Multiple UoM feature enables you to sell, purchase, receive and ship products in any UoM that your business needs, and to define default UoMs for various types of transactions. All sales and purchasing documents support items with multi-UoM definitions.The highlights of this new feature are as follows:

    • Unlimited global and product-specific UoMs
    • Setup of UoM groups with conversion rules between base UoMs and alternative UoMs within the groups
    • These UoM groups are used in item master data, marketing documents, and inventory documents
    • Default sales UoMs, purchasing UoMs, inventory UoMs, and automatic conversion to other applicable UoMs in transaction processing
    • Related enhancement of packaging, bar code and pricing functions:  
      • Package settings for multiple UoMs are incorporated into item master data and are used in sales documents to recommend the number of packages
      • For an item using multiple UoMs, you can define multiple bar codes and different prices for each of its UoMs
  Note that production transactions are processed in a single inventory UoM.

Price List and Discount Enhancements

In SAP Business One 9.0, the price list and the discount-groups functionality has been enhanced to improve efficiency and to support specific business processes. Using the enhanced price list function you can now do the following:

  • Assign a price list to a business partner group
  • Define multiple currency prices in a specific price list or in a special prices list
  • Define prices and special prices for different units of measurement, of a specific item
  • Define price lists as active or inactive
In addition, you can now decide whether to remove un-priced items from the database in order to reduce the database size and impact on performance when running applications on the database.Using the enhanced discount groups function you can now do the following:
  • Define discount groups for all business partners, for customer groups or for vendor groups
  • Define discounts for specific items
  • Define variable discounts based on quantity bought
  • Define discount groups as active or inactive
  • Define discountable control for a business partner and for an item
  • Allocate multiple discounts
You can get an overview of all prices and discounts using the following reports:
  • Price report
  • Discount report
These reports are also available from within marketing documents, enabling the user to track the source price and discount of each item during document creation.

Serial and Batch Items in Drop Ship Warehouses

SAP Business One 9.0 now lets you manage serial and batch items in drop ship warehouses. After you enable the serial and batch management for your drop ship warehouses, you can do the following:

  • Allocate serial and batch items in drop ship warehouses to newly created documents. The documents include the following:  
    • Sales order, delivery, return, A/R invoice, A/R invoice + payment, A/R credit memo, A/R Debit Memo, A/R reserve invoice
    • Goods receipt PO, goods return, A/P invoice , A/P credit memo, A/P Debit Memo
  • Maintain the serial and batch information for items in drop ship warehouses using Serial Number Management and Batch Management
  • View the transactions of the serial and batch items in drop ship warehouses using Serial Number Transactions Report and Batch Number Transactions Report
In addition, if your serial items in drop ship warehouses are delivered, SAP Business One can create customer equipment cardsautomatic
ally for these items in the same way as for the items in non-drop ship warehouses.

Inventory Tracking

SAP Business One 9.0 provides new capabilities for running a complete inventory taking process. It starts with cycle counting alerts and continues with well-structured tasks and innovated reporting.Major enhancements include the following:

  • Providing documents to record and manage inventory counting and inventory posting
  • Freezing items during inventory counting
  • Recording counting results and variance by two different inventory takers
  • Improving the cycle count function to enable continuation of counting process from cycle count alerts and recommendations
  • Counting the exact serial numbers and batches
  • Supporting inventory taking for bin locations
  • Providing inventory-taking reports to consolidate and analyse existing inventory counting and inventory posting documents
  • Providing an Inventory Counting Recommendation dashboard report
  • Providing documents to record and manage inventory opening balances
  • Counting by unit of measurement

 

 

Thanks & Regards,

Bowya S S

Comparison of Database Configuration

$
0
0

Hi All,

 

I would like to Share this Comparison of Database Configuration.

 

How to Compare Two Database Configuration?

1.Compare - Formatted Searches

This query will compare 2 databases and display discrepancies if the formatted searches are configured differently.

--------------------------------------------------------------------------
-- Database Comparison - formatted Searches
-- Author - Bowya - SAP Business One Central
-- Version 1.0
--------------------------------------------------------------------------
SELECT CSHS.FormID, ItemId,ColID,QName,ActionT,Refresh,FieldID,ByField,FrceRfrsh
    FROM SBO_TEST.dbo.CSHS
        INNER JOIN OUQR ON CSHS.QueryId = OUQR.IntrnalKey
EXCEPT
    SELECT CSHS.FormID, ItemId,ColID,QName,ActionT,Refresh,FieldID,ByField,FrceRfrsh
        FROM vLIVE.dbo.CSHS
        INNER JOIN OUQR ON CSHS.QueryId = OUQR.IntrnalKey
        order by CSHS.formID
   
   
   
SELECT CSHS.FormID, ItemId,ColID,QName,ActionT,Refresh,FieldID,ByField,FrceRfrsh
    FROM SBO_LIVE.dbo.CSHS
        INNER JOIN OUQR ON CSHS.QueryId = OUQR.IntrnalKey
EXCEPT
    SELECT CSHS.FormID, ItemId,ColID,QName,ActionT,Refresh,FieldID,ByField,FrceRfrsh
        FROM SBO_TEST.dbo.CSHS
        INNER JOIN OUQR ON CSHS.QueryId = OUQR.IntrnalKey
        order by CSHS.formID  

2.Compare - Queries

This query will compare 2 databases and display discrepancies in the the queries name and SQL code.


--------------------------------------------------------------------------
-- Database Comparison - Queries
-- Author - Bowya - SAP Business One Central
-- Version 1.0
--------------------------------------------------------------------------
SELECT REPLACE(REPLACE(left(cast(Qstring as varchar(2000)),2000),' ',''),Char(13),'') 'QString', QName
    FROM SBO_TEST.dbo.OUQR
    WHERE QName NOT LIKE 'OPOR'
EXCEPT
    SELECT REPLACE(REPLACE(left(cast(Qstring as varchar(2000)),2000),' ',''),Char(13),'') 'QString', QName
    FROM SBO_LIVE.dbo.OUQR
Order By QName


SELECT REPLACE(REPLACE(left(cast(Qstring as varchar(2000)),2000),' ',''),Char(13),'') 'QString', QName
    FROM SBO_LIVE.dbo.OUQR
    WHERE QName NOT LIKE 'OPOR'
EXCEPT
    SELECT REPLACE(REPLACE(left(cast(Qstring as varchar(2000)),2000),' ',''),Char(13),'') 'QString', QName
    FROM SBO_TEST.dbo.OUQR
Order By QName

3.Compare - Tables

This query will compare 2 databases and warn when one particular Database has a table(s) more than the other one.

--------------------------------------------------------------------------
-- Database Comparison - Tables for DBs
-- Author - Bowya - SAP Business One Central
-- Version 1.0
--------------------------------------------------------------------------
DECLARE

    @DATABASE1 NVARCHAR(35),
    @DATABASE2 NVARCHAR(35)


SET @DATABASE1 = 'SBO_TEST'
SET @DATABASE2 = 'SBO_LIVE'




    DECLARE @COMMAND NVARCHAR(4000),
        @COLUMNS_TABLE1 NVARCHAR(200),
        @COLUMNS_TABLE2 NVARCHAR(200),
        @NAME NVARCHAR(50),
        @IS_NULLABLE VARCHAR(3),
        @DATA_TYPE NVARCHAR(128),
        @CHARACTER_MAXIMUM_LENGTH INT,
        @NUMERIC_PRECISION INT ,
        @NUMERIC_PRECISION_RADIX INT,
        @NUMERIC_SCALE TINYINT,
        @DATETIME_PRECISION SMALLINT,
        @TABLE NVARCHAR(50),
        @COUNT INT 

    SET @COUNT = 1
    SET @DATABASE1 =
        CASE
            WHEN  (@DATABASE1 IS NOT NULL) THEN '[' + RTRIM(@DATABASE1) + '].'
            WHEN (@DATABASE1 IS NULL) THEN ''
        END
    SET @DATABASE2 =
        CASE
            WHEN  (@DATABASE2 IS NOT NULL) THEN '[' + RTRIM(@DATABASE2) + '].'
            WHEN  (@DATABASE2 IS NULL) THEN ''
        END
   
    SET @COLUMNS_TABLE1 =  RTRIM(@DATABASE1) + '[INFORMATION_SCHEMA].[COLUMNS] '
    SET @COLUMNS_TABLE2 =  RTRIM(@DATABASE2) + '[INFORMATION_SCHEMA].[COLUMNS] '


    PRINT 'Exist in ' +@DATABASE1+ ' but not in ' +@DATABASE2
    PRINT ''

    SELECT @COMMAND =
        'DECLARE c CURSOR FOR
            SELECT
                Table_Name
            FROM '
                + @COLUMNS_TABLE1 + '
            WHERE Table_Name NOT LIKE ''ixv%''
                 AND table_Name NOT LIKE ''sysdiagrams''
            EXCEPT
            SELECT
                Table_Name
            FROM '
                + @COLUMNS_TABLE2

    BEGIN TRY    
        EXEC(@COMMAND);
    END TRY

    BEGIN CATCH
        PRINT 'ERROR_MESSAGE = ' + ERROR_MESSAGE() + ' ERROR LINE = ' + STR(ERROR_LINE())
        PRINT ''
    END CATCH

    OPEN c
    FETCH NEXT FROM
        c
    INTO
        @NAME

    WHILE @@FETCH_STATUS = 0
        BEGIN
            BEGIN TRY
                SET @COUNT = @COUNT + 1
                PRINT  'Table:  ' + @NAME
            END TRY

            BEGIN CATCH
                PRINT 'ERROR:  ' + ERROR_MESSAGE()
                PRINT ''
            END CATCH

            FETCH NEXT FROM
                c
            INTO
                @NAME
        END
    CLOSE c
    DEALLOCATE c

    PRINT 'Exist in ' +@DATABASE2+ ' but not in ' +@DATABASE1
    PRINT ''

    SELECT @COMMAND =
        'DECLARE c CURSOR FOR
            SELECT
                Table_Name
            FROM '
                + @COLUMNS_TABLE2 + '
            WHERE Table_Name NOT LIKE ''ixv%''
                AND table_Name NOT LIKE ''sysdiagrams''
           
            EXCEPT
            SELECT
                Table_Name
            FROM '
                + @COLUMNS_TABLE1
               
    BEGIN TRY    
        EXEC(@COMMAND);
    END TRY

    BEGIN CATCH
        PRINT 'ERROR_MESSAGE = ' + ERROR_MESSAGE() + ' ERROR LINE = ' + STR(ERROR_LINE())
        PRINT ''
    END CATCH

    OPEN c
    FETCH NEXT FROM
        c
    INTO
        @NAME
       
    SET @COUNT = 1

    WHILE @@FETCH_STATUS = 0

        BEGIN

            BEGIN TRY
                --PRINT 'Error ' + STR(@COUNT)
                PRINT 'Table:  ' + @NAME
                SET @COUNT = @COUNT + 1
            END TRY
           
            BEGIN CATCH
                PRINT 'ERROR:  ' + ERROR_MESSAGE()
            END CATCH

            FETCH NEXT FROM
                c
            INTO
                @NAME
        END

    CLOSE c
    DEALLOCATE c

4.Compare - UDFs Definitions for matching Tables

This query will compare 2 databases and provide warning when particular Table(s) has a UDF(s) created or configured differently in both the databases.


--------------------------------------------------------------------------
-- Database Comparison - UDFs Definitions from DBs on Existing Tables
-- Author - Bowya - SAP Business One Central
-- Version 1.0
--------------------------------------------------------------------------
DECLARE
    @DATABASE1 NVARCHAR(35),
    @DATABASE2 NVARCHAR(35)--,
    --@TABLE1 NVARCHAR(100),
    --@TABLE2 NVARCHAR(100)

SET @DATABASE1 = 'SBO_TEST'
SET @DATABASE2 = 'SBO_LIVE'


--SET @TABLE1 = 'OWHS'
--SET @TABLE2 = 'OWHS'

    DECLARE @COMMAND NVARCHAR(4000),
        @COLUMNS_TABLE1 NVARCHAR(200),
        @COLUMNS_TABLE2 NVARCHAR(200),
                @Table_TABLE1 NVARCHAR(200),
        @Table_TABLE2 NVARCHAR(200),
        @NAME NVARCHAR(50),
        @NAME2 NVARCHAR(50),
        @Type Nvarchar(3),
        @SizeID Nvarchar(3),
        @COUNT INT 

    SET @COUNT = 1
    SET @DATABASE1 =
        CASE
            WHEN  (@DATABASE1 IS NOT NULL) THEN '[' + RTRIM(@DATABASE1) + '].'
            WHEN (@DATABASE1 IS NULL) THEN ''
        END
    SET @DATABASE2 =
        CASE
            WHEN  (@DATABASE2 IS NOT NULL) THEN '[' + RTRIM(@DATABASE2) + '].'
            WHEN  (@DATABASE2 IS NULL) THEN ''
        END
   
    SET @COLUMNS_TABLE1 =  RTRIM(@DATABASE1) + 'dbo.CUFD'
    SET @COLUMNS_TABLE2 =  RTRIM(@DATABASE2) + 'dbo.CUFD'

    SET @Table_TABLE1 =  RTRIM(@DATABASE1) + '[INFORMATION_SCHEMA].[COLUMNS] '
    SET @Table_TABLE2 =  RTRIM(@DATABASE2) + '[INFORMATION_SCHEMA].[COLUMNS] '
--select @COLUMNS_TABLE1
--select Table_Name, * from [SBO_Test].[INFORMATION_SCHEMA].[COLUMNS]

    PRINT 'Exist in ' +@DATABASE1+ ' but not or different in ' +@DATABASE2
    PRINT ''

    SELECT @COMMAND =
        'DECLARE c CURSOR FOR
            SELECT
                TableID, AliasID, TypeID, SizeID
            FROM '
                + @COLUMNS_TABLE1 + '
            WHERE TableID NOT LIKE ''OPOR''
                AND TableID NOT LIKE ''OPDN''
                AND TableID NOT LIKE ''ORDN''
                AND TableID NOT LIKE ''OPCH''
                AND TableID NOT LIKE ''OQUT''
                AND TableID NOT LIKE ''ODLN''
                AND TableID NOT LIKE ''OWTR''
                AND TableID NOT LIKE ''OWOR''
                AND TableID NOT LIKE ''ODLN''
                AND TableID NOT LIKE ''ORIN''
                AND TableID NOT LIKE ''OINV''
                AND TableID NOT LIKE ''OIGN''
                AND TableID NOT LIKE ''OIGE''
                AND TableID NOT LIKE ''ODRF''
                AND TableID NOT LIKE ''ODPO''
                AND TableID NOT LIKE ''ORPC''
                AND TableID NOT LIKE ''ORPD''
                AND TableID NOT LIKE ''OCIN''
                AND TableID NOT LIKE ''OCPI''
                AND TableID NOT LIKE ''OCSI''
                AND TableID NOT LIKE ''OCSV''
                AND TableID NOT LIKE ''OCPV''
                AND TableID NOT LIKE ''ODPI''
                AND TableID NOT LIKE ''ADOC''
                AND TableID NOT LIKE ''AWOR''
                AND TableID NOT LIKE ''AACT''
            AND TableID NOT LIKE ''POR1''
                AND TableID NOT LIKE ''PDN1''
                AND TableID NOT LIKE ''RDN1''
                AND TableID NOT LIKE ''PCH1''
                AND TableID NOT LIKE ''QUT1''
                AND TableID NOT LIKE ''DLN1''
                AND TableID NOT LIKE ''WTR1''
                AND TableID NOT LIKE ''WOR1''
                AND TableID NOT LIKE ''DLN1''
                AND TableID NOT LIKE ''RIN1''
                AND TableID NOT LIKE ''ADO1''
                AND TableID NOT LIKE ''DPO1''
                AND TableID NOT LIKE ''DRF1''
                AND TableID NOT LIKE ''DPI1''
                AND TableID NOT LIKE ''RPD1''
                AND TableID NOT LIKE ''RPC1''
                AND TableID NOT LIKE ''CIN1''
                AND TableID NOT LIKE ''CPI1''
                AND TableID NOT LIKE ''CSI1''
                AND TableID NOT LIKE ''CSV1''
                AND TableID NOT LIKE ''CPV1''
                AND TableID NOT LIKE ''INV1''
                AND TableID NOT LIKE ''IGN1''
                AND TableID NOT LIKE ''IGE1''
            AND TableID NOT LIKE ''A%''
            AND TableID Not IN (
           
            SELECT
                Table_Name
            FROM '
                + @Table_TABLE1 + '
            WHERE Table_Name NOT LIKE ''ixv%''
                 AND table_Name NOT LIKE ''sysdiagrams''
            EXCEPT
            SELECT
                Table_Name
            FROM '
                + @Table_TABLE2 + ')


            EXCEPT
            SELECT
                TableID, AliasID,TypeID, SizeID
            FROM '
                + @COLUMNS_TABLE2

    BEGIN TRY    
        EXEC(@COMMAND);
    END TRY

    BEGIN CATCH
        PRINT 'ERROR_MESSAGE = ' + ERROR_MESSAGE() + ' ERROR LINE = ' + STR(ERROR_LINE())
        PRINT ''
    END CATCH

    OPEN c
    FETCH NEXT FROM
        c
    INTO
        @NAME,@NAME2,@Type,@SizeID

    WHILE @@FETCH_STATUS = 0
        BEGIN
            BEGIN TRY
                SET @COUNT = @COUNT + 1
                PRINT  'Table:  ' + @NAME + ' , ' +@NAME2 + ' , ' + @Type + ' , ' + @SizeID
            END TRY

            BEGIN CATCH
                PRINT 'ERROR:  ' + ERROR_MESSAGE()
                PRINT ''
            END CATCH

            FETCH NEXT FROM
                c
            INTO
                @NAME, @NAME2,@Type,@SizeID 
        END
    CLOSE c
    DEALLOCATE c

    PRINT 'Exist in ' +@DATABASE2+ ' but not or different in ' +@DATABASE1
    PRINT ''

    SELECT @COMMAND =
        'DECLARE c CURSOR FOR
            SELECT
                TableID, AliasID,TypeID, SizeID
            FROM '
                + @COLUMNS_TABLE2 + '
            WHERE TableID NOT LIKE ''OPOR''
                AND TableID NOT LIKE ''OPDN''
                AND TableID NOT LIKE ''ORDN''
                AND TableID NOT LIKE ''OPCH''
                AND TableID NOT LIKE ''OQUT''
                AND TableID NOT LIKE ''ODLN''
                AND TableID NOT LIKE ''OWTR''
                AND TableID NOT LIKE ''OWOR''
                AND TableID NOT LIKE ''ODLN''
                AND TableID NOT LIKE ''ORIN''
                AND TableID NOT LIKE ''OINV''
                AND TableID NOT LIKE ''OIGN''
                AND TableID NOT LIKE ''OIGE''
                AND TableID NOT LIKE ''ODRF''
                AND TableID NOT LIKE ''ODPO''
                AND TableID NOT LIKE ''ORPC''
                AND TableID NOT LIKE ''ORPD''
                AND TableID NOT LIKE ''OCIN''
                AND TableID NOT LIKE ''OCPI''
                AND TableID NOT LIKE ''OCSI''
                AND TableID NOT LIKE ''OCSV''
                AND TableID NOT LIKE ''OCPV''
                AND TableID NOT LIKE ''ODPI''
                AND TableID NOT LIKE ''ADOC''
                AND TableID NOT LIKE ''AWOR''
                AND TableID NOT LIKE ''AACT''
            AND TableID NOT LIKE ''POR1''
                AND TableID NOT LIKE ''PDN1''
                AND TableID NOT LIKE ''RDN1''
                AND TableID NOT LIKE ''PCH1''
                AND TableID NOT LIKE ''QUT1''
                AND TableID NOT LIKE ''DLN1''
                AND TableID NOT LIKE ''WTR1''
                AND TableID NOT LIKE ''WOR1''
                AND TableID NOT LIKE ''DLN1''
                AND TableID NOT LIKE ''RIN1''
                AND TableID NOT LIKE ''ADO1''
                AND TableID NOT LIKE ''DPO1''
                AND TableID NOT LIKE ''DRF1''
                AND TableID NOT LIKE ''DPI1''
                AND TableID NOT LIKE ''RPD1''
                AND TableID NOT LIKE ''RPC1''
                AND TableID NOT LIKE ''CIN1''
                AND TableID NOT LIKE ''CPI1''
                AND TableID NOT LIKE ''CSI1''
                AND TableID NOT LIKE ''CSV1''
                AND TableID NOT LIKE ''CPV1''
                AND TableID NOT LIKE ''INV1''
                AND TableID NOT LIKE ''IGN1''
                AND TableID NOT LIKE ''IGE1''
            AND TableID NOT LIKE ''A%''
            AND TableID NOT IN (
                SELECT
                Table_Name
            FROM '
                + @Table_TABLE2 + '
            WHERE Table_Name NOT LIKE ''ixv%''
                 AND table_Name NOT LIKE ''sysdiagrams''
            EXCEPT
            SELECT
                Table_Name
            FROM '
                + @Table_TABLE1 + ')

           
            EXCEPT
            SELECT
                TableID, AliasID,TypeID, SizeID
            FROM '
                + @COLUMNS_TABLE1
               
    BEGIN TRY    
        EXEC(@COMMAND);
    END TRY

    BEGIN CATCH
        PRINT 'ERROR_MESSAGE = ' + ERROR_MESSAGE() + ' ERROR LINE = ' + STR(ERROR_LINE())
        PRINT ''
    END CATCH

    OPEN c
    FETCH NEXT FROM
        c
    INTO
        @NAME,@NAME2,@Type,@SizeID
       
    SET @COUNT = 1

    WHILE @@FETCH_STATUS = 0

        BEGIN

            BEGIN TRY
                --PRINT 'Error ' + STR(@COUNT)
                PRINT  'Table:  ' + @NAME + ' , ' +@NAME2 + ' , ' + @Type + ' , ' + @SizeID
                SET @COUNT = @COUNT + 1
            END TRY
           
            BEGIN CATCH
                PRINT 'ERROR:  ' + ERROR_MESSAGE()
            END CATCH

            FETCH NEXT FROM
                c
            INTO
                @NAME, @NAME2,@Type,@SizeID
        END

    CLOSE c
    DEALLOCATE c


Thanks & Regards,

Bowya S S

SAP Business One Form Types and Object Types

$
0
0

Dear all,

 

I would like to share Certain object types and Form types of SAP B1.

 

Introduction

Nothing special, just a small overview of SAP Business One Object Types and Form Types. Hope it helps!

 

Object Types

 

Object TypeDescription
1ChartOfAccounts object
2BusinessPartners object
3Banks object
4Items object
5VatGroups object
6PriceLists object
7SpecialPrices object
8ItemProperties object
12Users object
13Documents object that represents a sales invoice document
14Documents object that represents a sales credit note document
15Documents object that represents a sales delivery note document
16Documents object that represents a sales return document
17Documents object that represents a sales order document
18Documents object that represents a purchase invoice document
19Documents object that represents a purchase credit note document
20Documents object that represents a purchase delivery note document
21Documents object that represents a a purchase return document
22Documents object that represents a purchase order document
23Documents object that represents a sales quotation document
24Payments object
28JournalVouchers object
30JournalEntries object that represents a normal journal entry
31StockTaking object
33Contacts object
36CreditCards object
37Currencies object
40PaymentTermsTypes object
42BankPages object
43Manufacturers object
46Payments object that represents payments to vendors
48LandedCostsCodes object
49ShippingTypes object
50LengthMeasures object
51WeightMeasures object
52ItemGroups object
53SalesPersons object
56CustomsGroups object
57ChecksforPayment object
59Documents object for entering general items to inventory
60Documents object for removing general items from inventory
64Warehouses object
65CommissionGroups object
66ProductTrees object
67StockTransfer object
68WorkOrders object
70CreditPaymentMethods object
71CreditCardPayments object
73AlternateCatNum object
77Budget object
78BudgetDistribution object
81Messages object
91BudgetScenarios object
97SalesOpportunities object
93UserDefaultGroups object
101SalesStages object
103ActivityTypes object
104ActivityLocations object
112Documents object that represents a draft document (see Creating a draft document sample)
116DeductionTaxHierarchies object
117DeductionTaxGroups object
125AdditionalExpenses object
126SalesTaxAuthorities object
127SalesTaxAuthoritiesTypes object
128SalesTaxCodes object
134QueryCategories object
138FactoringIndicators object
140Payments object
142AccountSegmentations object
143AccountSegmentationCategories object
144WarehouseLocations object
145Forms1099 object
146InventoryCycles object
147WizardPaymentMethods object
150BPPriorities object
151DunningLetters object
152UserFieldsMD object
153UserTablesMD object
156PickLists object
158PaymentRunExport object
160UserQueries object
162MaterialRevaluation object
163Documents object that represents a purchase invoice correction document
164Documents object that represents a reverse purchase invoice correction document
165Documents object that represents a correction invoice document
166Documents object that represents a reverse invoice correction document
170ContractTemplates object
171EmployeesInfo object
176CustomerEquipmentCards object
178WithholdingTaxCodes object
182BillOfExchangeTransaction object
189KnowledgeBaseSolutions object
190ServiceContracts object
191ServiceCalls object
193UserKeysMD object
194Queue object
198SalesForecast object
200Territories object
201Industries object
202ProductionOrders object
205PackagesTypes object
206UserObjectsMD object
211Teams object
212Relationships object
214UserPermissionTree object
217ActivityStatus object
218ChooseFromList object
219FormattedSearches object
221Attachments2 object
223UserLanguages object
224MultiLanguageTranslations object
229DynamicSystemStrings object
231HouseBankAccounts object
247BusinessPlaces object
250LocalEra object
280Sales tax invoice object (see TaxInvoices object and DocType property with the valid value botit_Invoice)
281Purchase tax invoice object (see TaxInvoices object and DocType property with the valid value botit_Payment)
300Recordset object
305SBObob object
260NotaFiscalUsage object
258NotaFiscalCFOP object
259NotaFiscalCST object
261ClosingDateProcedure object
10BusinessPartnerGroups object
278BPFiscalRegistryID object
203Documents object that represents a down payments document
204Documents object that represents a purchase down payments document
1179StockTransfer draft object
540000006Documents object that represents a purchase quotation document

Form Types

 

Form TypeDescription
7Drag & Relate
10Query Wizard
19EU Sales Report -Selection Criteria
20Define and Update Serial Numbers – Selection Criteria
21Define and Update Serial Numbers
22Serial Number Transactions Report – Selection Criteria
23Serial Number Transactions Report
25Serial Numbers – Selection Criteria
26Serial Number Completion
27Serial Number Completion – Selection Criteria
31Manage User Fields
39Document Journal
40Batch No. for Receipt – Selection Criteria
41Define and Update Batch Numbers
42Batch Number – Selection Criteria
43Batch Number Completion
44Batch Number Completion
45Batch Number Transactions Report
46Batch Number Transactions Report – Selection Criteria
47Tax Report
48EU Sales Report
50Define Sales Tax Jurisdictions – Selection Criteria
51Define Sales Tax Codes
53Tax Report – Selection Criteria
62Define Warehouses
63Define Item Groups
64Define Account Segmentation
65Purchase Order Confirmation
66Define %s Segment Codes
67Define Inventory Cycles
71Tax Report – Selection Criteria
72Tax Report
75Reverse Transactions
76Tax Jurisdiction
80Release List – Selection Criteria
81Release List
83Link Invoices to Payments – Selection Criteria
84Link Invoices to Payments
85Pick List
90Inactive Items
91Inactive Items – Selection Criteria
92Inactive Customers – Selection Criteria
93Inactive Customers
96Last Prices Report
120Trial Balance
129BP
133A/R Invoice
134Business Partner Master Data
136Company Details
137Correction Invoice
138General Settings
139Order
140Delivery
141A/P Invoice
142Purchase Order
143Goods Receipt PO
146Payment Means
148Define Currencies
149Quotation
150Item Master Data
152Open Items List
154Inventory Status
155Price Lists
157Price List
161Transaction Journal Report
165Balance Sheet – Selection Criteria
166Trial Balance – Selection Criteria
168G/L Accounts Opening Balance
169Command Centre
170Incoming Payments
171Cycle Count Recommendations
172Document Numbering
174Define Customer Groups
177Define Payment Terms
179A/R Credit Memo
180Returns
181A/P Credit Memo
182Goods Returns
183Print Preferences
184Document Printing – Selection Criteria
188Send Message
189Test Report Balance Settings
190Save as Distribution List
191Print
194Execute Commands
202Alerts Management
210Save Report
228Document Settings
229Journal Vouchers
239Gross Profit of Order
240Gross Profit of Delivery
241Gross Profit of Outgoing Invoice
245Trial Balance Budget Report – Selection Criteria
247Define Vendor Groups
251Define Formatted Search
260Balance Sheet Budget Report – Selection Criteria
265Balance Sheet Comparison – Selection Criteria
267Profit and Loss Statement Comparison – Selection Criteria
280Trial Balance Comparison – Selection Criteria
285Show History
290Price List Item Details
291Define Hierarchies for Price List
296Organize User Menu
305Dynamic Opportunity Analysis
307Opportunity Analysis – Selection Criteria
309Opportunities Pipeline
313Opportunities Won
314Opportunity List
315Opportunities Won – Selection Criteria
319Stage Analysis – Selection Criteria
320Sales Opportunity
333Special Prices – Item Details
335Special Prices – Hierarchies
336Copy Special Prices to Selection Criteria
337
339Update Special Prices Globally
350G/L Account Determination
352Define Sales Stages
369Exchange Rate Differences
370Exchange Rate Differences – Selection Criteria
371Conversion Differences
372Conversion Differences – Selection Criteria
385Process External Bank Statement
386Reconciliation – Selection Criteria
387Reconciliation
388Manage Previous Reconciliations – Selection Criteria
389Manage Previous Reconciliations
390Journal Entry
392Journal Entry
401Tax Reporting
402Advances on Corporate Income Tax on Sales Report
403Tax Report Detailed by Months
411Period-End Closing – Selection Criteria
419Define Address Formats
420Profit and Loss Statement – Selection Criteria
421Profit and Loss Statement Budget Report – Selection Criteria
422Define Business Partner Properties
424Define Credit Cards
426Payments to Vendors
429Define Item Properties
430Business Partners Opening Balance
435Define Credit Card Payment Methods
436Define Credit Card Payment
437Credit Card Management
440Credit Card Management – Selection Criteria
441Define Budget Distribution Methods
443Define Budget
444Define Budget
446Budget Report – Selection Criteria
447Budget Report
448Restore Budget Balances
452Budget Scenarios
453Import Budget Scenarios
501General Ledger
502Transaction Report by Projects – Selection Criteria
504Payment Wizard
505Define Payment Methods
510Vendor Withholding Tax – Selection Criteria
515Withholding Tax Report
520Check Document Numbering
521Create/Edit Categories
530Documents serial numbering list
540Item Query
550Inventory Posting List – Selection Criteria
600Items List – Selection Criteria
601Items List
603Check Fund – Selection Criteria
604General Ledger – Selection Criteria
606Deposit
607Check Fund
609Document Journal – Selection Criteria
612Postdated Check Deposit
614Postdated Credit Voucher Deposit
636Posting Period
640Define Hierarchies and Expansions
651Contacts with Business Partners
653Define Cash Discount
655Payment Drafts Report
664Define Commission Groups
666Define Sales Employees
668Special Prices for Business Partners
670Recurring Postings
672Define Bill of Materials
673Open Work Orders Report
674Bill of Materials Report – Selection Criteria
675Production Recommendations
677Work Order
679Bill of Materials Report
680Confirmation for recurring postings
681Cycle Count Recommendations – Selection Criteria
682Restore Item Balances
689Inventory Status – Selection Criteria
703Financial Report Template – Expansion
704Financial Report Templates
705Define Banks
706Financial Report Template
708Formula for Profit and Loss Template
710Define Transaction Codes
711Define Projects
712Define %s Rates
713Define Sales Tax Jurisdiction Types
720Goods Issue
721Goods Receipt
733Define Sales Stages
735Define Partners
736Define Competitors
750Edit Chart of Accounts
751Edit Chart of Accounts
752Transaction Journal Report – Selection Criteria
753Account Code Generator
771Inventory in Warehouse Report
772Inventory in Warehouse Report – Selection Criteria
776Define Locations
779Define 1099 Table
800Posting Templates
804Chart of Accounts
806Chart of Accounts
810Define Profit Centers
811Define Distribution Rules
812Table of Profit Centers and Distribution Rules
819Profit Center – Report – Selection Criteria
820Choose Company
823Profit Center – Report
840Inventory Tracking
841Check and Restore Former Reconciliations
850Checks for Payment Drafts
852Define Users
854Checks for Payment
855G/L Accounts and Business Partners
856Voiding Checks for Payment
857Sales Analysis Report – Selection Criteria
858Voiding Checks for Payment
864Restore G/L Account and Business Partner Balances
865Define Indexes
866Define foreign currency exchange rates
869
870Purchase Analysis – Selection Criteria
876Define Interest Rates
878Define Credit Vendors
892G/L Accounts and Business Partners – Selection Criteria
893Define Length and Width UoM
894Define Weight UoM
895Define Tax Groups
896Define Customs Groups
897Define Manufacturers
898Define Landed Costs
899Define Shipping Types
900Inventory Valuation – Selection Criteria
901Inventory Valuation Report
902Update After Inventory
906Entering stock balance sheet
907Beginning Quantities and Cycle Counting
916Year Transfer
922Business Partners Opening Balance – Selection Criteria
923G/L Accounts Opening Balance – Selection Criteria
940Stock Transfer
941Define Countries
953Automatic Summary Wizard
958Define Discount Groups
959Search Results
960Cash Flow – Selection Criteria
961Cash Flow
962Customer Receivables Aging – Selection Criteria
963Vendor Liabilities Aging – Selection Criteria
964Customer Receivables Aging
965Vendor Liabilities Aging
968Restore
969Restore Wizard
971Restore Open Check Balances
975Contact Overview – Selection Criteria
976Contact Overview
977Data Migration Packages
980Choose language
981Create new language
992Landed Costs
993Define Business Partner Catalog Numbers
994Global Update to Business Partner Catalog Numbers
998Settings
1011Sales Journal
1012Cash Report
1020Tax Report – Purchasing Preferences
1021Tax Report
3001Document Drafts – Selection Criteria
3002Document Drafts
39001099 Editing – Selection Criteria
39011099 Editing
39041099 Report – Selection Criteria
39051099 Report
39061099 Detailed Report per Vendor
39071099 Opening Balance – Selection Criteria
39081099 Opening Balance
3910Define Late Payments Fees
3915EST
4666User Reports
5003Update Control Report
8001Define Business Partner Priorities
8002Define Dunning Levels
8004Define Payment Blocks
8008Define Service Call Statuses
8018Define Doubtful Receivables
20209Sales Analysis for Customer
20210Sales Analysis for Customer
20221Purchases Analysis for Vendors
20232Sales Analysis Report by Customer (Detailed)
20240Sales Analysis Report by Item (Detailed)
20251Purchase Analysis Rep. by Vendor (Detailed)
20259Purchase Analysis Rep. by Vendor (Detailed)
20302Delivery Notes – Selection Criteria
20303Delivery Summary Report – Selection Criteria
20306Invoices Summary Report – Selection Criteria
20307Export general data file
20310
20311Define Retail Stores
20320Interest Calculation Report – Selection Criteria
20321Interest Report
20330Payments to Vendors
20331Unapproved Payments to Vendors Report
20450Credit Card Summary – Selection Criteria
20451Credit Card Summary
20700Define Users
20702Define Payment Run Defaults
40014Define Alternative Items
50101Define Approval Stages
50102Define Approval Templates
50104Approval Status Report – Selection Criteria
50105Approval Status Report
50107Approval Decision Report – Selection Criteria
50108Approval Decision Report
60000Machine ID
60001Properties
60002Connected Users
60003License Removal
60050Bill of Exchange Managment
60051Bill of Exchange Managment
60052Bill of Exchange Transactions
60053Bill of Exchange – Receivables
60056Bill of Exchange – Payables
60090A/R Invoice
60091A/R Reserve Invoice
60092A/P Reserve Invoice
60100Employee Master Data
60105Employee / Phone Book Report – Selection Criteria
60106Employees List
60107Phone Book
60109Employees Absence Report
60110Service Call
60120Knowledge Base Solution
60125Contract Templates
60126Service Contract
60130Service Calls Report – Selection Criteria
60131Service Calls
60133Service Monitor
60135Service Contracts Report – Selection Criteria
60136Service Contracts
60138Average Closure Time
60139Average Closure Time Report – Selection Criteria
60140My Open Service Calls
60141My Service Calls
60142My Overdue Service Calls
60150Customer Equipment Card
60151Customer Equipment Report – Selection Criteria
60152Customer Equipment Report
60265Balance Sheet Comparison – Selection Criteria
60300Tax Report – Selection Criteria
60301Withholding Tax Report – Selection Criteria
60350Tax Summary Report
60410Period-End Closing – Selection Criteria
60414Period-End Closing
60501Bill of Exchange Fund
60502Bill of Exchange Fund – Selection Criteria
60555Document Journal
65000WT Mode
65011347 Report
65014349 Report
65015Define Withholding Tax Codes
65018

Update Parent Item Prices – Selection Criteria

 

Thanks & Regards,

Bowya S S


Consultas de usuário no "meu menu"

$
0
0

Olá!

 

Você acha chato executar uma consulta de usuário através do longo caminho "Ferramentas --> Consultas --> Consultas de usuário ->> (...)"?

 

Sabia que pode adicionar a consulta de usuário ao "meu menu"?

 

Basta seguir estes passos:

 

1) Acessar o gerente de consultas

img1.jpg

 

2) Localizar a consulta que deseja adicionar ao menu e marcá-la (clicar 1x):

img2.jpg

 

3) Manter a tela anterior aberta e selecionar a opção "Inserir no meu menu":

img3.jpg

 

 

4) Escolher o nome que vai aparecer no menu e a categoria onde ela estará disponível:

img4.jpg

 

5) Pronto. Para acessá-la, basta selecionar a aba “meu menu” no menu principal e clicar na consulta para executá-la:

img5.jpg

 

Espero que seja útil!

 

Abraços.

 

Gustavo.

How do I use the cron to schedule a backup

$
0
0

Introduction

There is a need to schedule a backup using cron. Cron is driven by a crontab (cron table) file, a configuration file that specifies shell commands to run periodically on a given schedule.  The SAP note 1651055 (https://service.sap.com/sap/support/notes/1651055) provides a backup script and PDF that explains how to use the script. 

 

The backup.sh file provided by the script will execute a backup, it will also show you a list of log files that can be deleted because they are included in a backup.  The script does not delete the log files.  This blog post will show you how to configure the script, how to execute the script and provide 2 additional scripts that can be used to clean up old log files. 

 

Everything shown below can be watched on a recording available from https://sap.na.pgiconnect.com/p93414224/

 

Script Prerequisites

Before the script can be executed you need to use hdbuserstore to create a user store key that will be used to logon to the SAP HANA DB.  The hdbuserstore file is install with the HANA client files.  You execute the program as ndbadm. 

 

The syntax of the command looks like

 

/usr/sap/hdbclient/hdbuserstore SET <KEY> <ENVIRONMENT> <USER> <PASSWORD>

Where:

- <KEY> is the identifier for the entry; can be freely chosen

- <ENVIRONMENT> defines the SAP HANA Database system in the form <hostname>:<port> where <port> is the SQL port of the indexserver process, i.e. 3<instance>15, <instance> being the two-digit instance number of the SAP HANA Database

- <USER> is the name of a SAP HANA Database user

- <PASSWORD> is that user’s password in SAP HANA Database

 

It looks like:

hdbuserstore.set.PNG

After the user store key is created, you can verify it exists using hdbuserstore list.

hdbuserstore.list.PNG

We are ready to configure the script.

 

Script Configuration

Download the script to your HANA Linux server.  I recommend keeping it in /usr/sap/NDB/home/scripts.  You will have to use the mkdir command to create the scripts directory.  I recommend keeping it here because it is central location with a clear naming providing information about the files contained within.

 

After you have the script uploaded to the SAP HANA server you need to set proper permissions.  This is done with the chmod command.  You also need to make sure it is owned by ndbadm and a member of the sapsys group, this is done with the chown command.

 

chmod 754 backup.sh

chown ndbadm:sapsys backup.sh

 

 

The script can now be executed, but execution will fail because we have not added our user key store to the script.  We add the user key to the script using the vi command.  In side the script we press the forward slash '/' to execute a search.  In the search box we enter USE_HDBUSERSTORE and press enter to execute the search.

searchVI.PNG

The first occurance of the term will be in the comments.  We need to change the value of USE_HDBUSERSTORE to TRUE

 

A few lines below we need to change USERSTORE_KEY to value of the key we created in the prerequisite section.  The example user store key name is DUNCAN.  Save you changes and exit vi.

 

Executing a backup

On the command line enter backup.sh.  The script will start after a built in delay as elapsed.

startBackup.sh.png

Verify the backup

It is possible you might see errors when the backup completes, like those shown below, and you want to verify it was successful.

BackupErrors.PNG

The backup is verified using backup.sh -ld. 

backup-ld.PNG

This shows that the backup was successful and I can ignore the generated errors.

 

Backup log file cleanup

In order to get a list of logfiles that can be deleted post backup you execute backup.sh -ll --backup-id=<backup ID>. 

We would use backup.sh -ll --backup-id=1374691689165 to get a list of logs that can be deleted post backup.

backup-ll.PNG

*|more is used here to prevent the output from overflowing the screen.  You do not need it and I will show a script that can be used to automatically cleanup these files,

 

Now, we have successfully execute a backup and seen the list of files that can be removed, how can this be automated?  I would propose the creation of 2 scripts, one is scheduled in cron the other is called by the scheduled script.  The scripts are GetLastBackup.sh and LogCleanUp.pl.

 

GetLastBackup.sh:

 

This is an sh shell script that uses a regular expression to get the last backup ID.  The last backup ID is used as a parameter for backup.sh -ll which redirects output to a file named "logsToDelete.txt".  The logsToDelete.txt file is used as an input parameter for LogClean.pl which deletes all listed files.

 

LogCleanUp.pl:

LogsToDelete.PNG

This is a simple Perl script that takes 1 command line argument, the name of the file containing the list of files to delete.  If no argument is provided it defaults to logsToDelete.txt.  It applies a few regular expressions to each line of the file and executes a delete.  The output looks like:

DeleteOutput.PNG

 

*More is shown because the script was executed with |more so output could be captured you will not see it when you run the scripts

 

After the first run of these scripts it is common to see rm: cannot remover file this occurs because the list of log files no longer required is not updated post delete.  The space is freed.  The backup runs as expected but the references are left. 

 

The Perl script's last output is how many files were remove.

DeleteCount.PNG

 

 

How to schedule the jobs

In Linux we use cron to schedule jobs.  We edit the cron using the command crontab -e.  This command execute vi on the cron table.  Note Linux only supports editing the crontab using crontab -e manually editing the table will not work.

crontab-e.PNG

*Note --retention=8 sets the retention time period for the backup.  It is not required.  The sample shown above is from an internal sandbox system and few backups are required

 

The numbers before the path to the script provide the frequency and time the job should run. The graphic below shows what each position means. 

 

 

cronTimeValue.png

 

After adding the jobs to the crontab you can verify the settings using crontab -l

crontab-l.PNG

 


SAP Business One 9.0, version for SAP HANA PL02 released

$
0
0

Hi!

 

SAP Business One 9.0, version for SAP HANA PL02 has been released, you can update to the latest patch release.

 

If you haven't installed yet SAP Business One 9.0 version for SAP HANA you will need to run first the SAP Business One 9.0, version for SAP HANA installation package, afterwards you will be able to upgrade to PL02.

 

Don't forget to check the following very important SAP Note giving details about SAP HANA matching versions for all B1H releases:

1841037 - Central Note for SAP Business One 9.0, version for SAP HANA (SAP S-user required).

 

Check my previous blogs if you look for more details on SAP Business One 9.0, version for SAP HANA and SAP Business One 9.0, version for SAP HANA PL01.

 

Just upgrade to the latest version!

How to Export chart of account tree type

$
0
0

Expert,

 

How to export Chart of account from SAP to excel tree type and group wise.

 

Please help anybody.

 

Thanks in Advance

 

Regards,

Mukesh Singh

Export chart of account tree type

$
0
0

Expert,

 

How to export Chart of account from SAP to excel tree type and group wise.

 

Please help anybody.

 

Regards,

Mukesh Singh

Viewing all 219 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>