You are on page 1of 465

CORESUITE MANUAL

VERSION 3.30

Now also available as F1 help!

CORESUITE MANUAL
All rights reserved. No parts of this work may be reproduced in any form or by any means graphic, electronic, or mechanical, including photocopying, recording, taping, or information storage and retrieval systems - without the written permission of the publisher. Products that are referred to in this document may be either trademarks and/or registered trademarks of the respective owners. The publisher and the author make no claim to these trademarks. While every precaution has been taken in the preparation of this document, the publisher and the author assume no responsibility for errors or omissions, or for damages resulting from the use of information contained in this document or from the use of programs and source code that may accompany it. In no event shall the publisher and the author be liable for any loss of profit or any other commercial damage caused or alleged to have been caused directly or indirectly by this document. Printed: November 2011 Windisch, Switzerland

2011 coresystems ag

CONTENT
1
1.1
1.1.1 1.1.2 1.1.3 1.1.4

CORESUITE ADMINISTRATION
Administration
Sip management License management Global module configuration User module configuration

13
13
13 15 16 17

1.2

Cloud Administration

18

2
2.1 2.2
2.2.1

CORESUITE ACCOUNTING
Objectives and General Information Mapping window
Mapping Overview

19
19 21
24

2.3 2.4 2.5 2.6


2.6.1
2.6.1.1 2.6.1.2 2.6.1.3 2.6.1.4 2.6.1.5 2.6.1.6 2.6.1.7 2.6.1.8 2.6.1.9 2.6.1.10 2.6.1.11 2.6.1.12

Subtotals, classes and class groups Free classes Properties coresuite accounting reference guide
User tables
COR_ACCT_CONF COR_DOC6 COR_FIN_ACCTCALCDEF COR_FIN_ACCTCFLOW COR_FIN_ACCTCLASS COR_FIN_ACCTCLSGRP COR_FIN_ACCTCLSPRP COR_FIN_ACCTCORMSK COR_FIN_ACCTGRPMSK COR_FIN_ACCTGRPPRP COR_KPI1 COR_OKPI

26 31 31 32
32
32 32 33 33 33 34 34 34 35 35 35 36

2.6.2
2.6.2.1 2.6.2.2 2.6.2.3

FAQ
How can I adjust the description of account classes? How can I import user-defined properties? How can I adjust reports prior to version 2.5?

37
37 38 38

2.6.2.3.1
2.6.2.3.1.1 2.6.2.3.1.2 2.6.2.3.1.3 2.6.2.3.1.4 2.6.2.3.1.5 2.6.2.3.1.6 2.6.2.3.1.7

Restoring layouts with old datasource


Balance (FIN05402) ProfitAndLoss (FIN05404) Movements (FIN05407) Movements2 (FIN05420) Journal Entry (FIN05419) BP Movements (FIN05410) Budget (FIN05408, FIN05409)

39
41 41 41 41 41 41 41

2.6.2.3.2
2.6.2.3.2.1 2.6.2.3.2.2 2.6.2.3.2.3 2.6.2.3.2.4 2.6.2.3.2.5 2.6.2.3.2.6 2.6.2.3.2.7 2.6.2.3.2.8 2.6.2.3.2.9 2.6.2.3.2.10

Queries version 2.5


Balance ProfitAndLoss AccountHeader AccountDetails Movements AP_Invoice_Description JournalEntry GPHeader GPDetails Budget

42
43 47 51 52 53 55 56 57 58 59

2.6.3
2.6.3.1 2.6.3.2 2.6.3.2.1 2.6.3.3 2.6.3.3.1
2.6.3.3.1.1 2.6.3.3.1.2

CORESUITE layouts, reports & dashboards (in EN only)


Overview Banking
Outgoing Payment - LD (BAN1000)

72
73 86
86

Documents
Document DIN - CR (DOC40000)
Example Print definitions

86
86
88 89

2.6.3.4 2.6.3.4.1
2.6.3.4.1.1 2.6.3.4.1.2 2.6.3.4.1.3 2.6.3.4.1.4

Financial Reports
Profit and Loss
Profit and Loss - KPI (FIN05438) Profit and Loss (FIN05404) Profit and Loss by Template (FIN05405) Profit and Loss by Profitcenter - KPI (FIN05430)

90
90
90 91 92 93

2.6.3.4.2
2.6.3.4.2.1 2.6.3.4.2.2 2.6.3.4.2.3

Balance Sheet
Balance Sheet - LD (FIN05402) Balance Sheet Template - LD (FIN05403) Opening Balance - LD (FIN05413)

94
94 95 96

2.6.3.4.3
2.6.3.4.3.1 2.6.3.4.3.2 2.6.3.4.3.3 2.6.3.4.3.4 2.6.3.4.3.5

Journal / Statement
Print Journal Transactions from SAP Form Journal Transactions - SAP Form (FIN60006) Journal Transactions (FIN05420) Trial Balance - LD (FIN05533) Journal Entry - LD (FIN05419)

97
97 99 100 102 103

2.6.3.4.4

Budget

104

2.6.3.4.4.1 2.6.3.4.4.2 2.6.3.4.4.3 2.6.3.4.4.4 2.6.3.4.4.5

Profit and Loss vs. Budget - KPI (FIN05439) Profit and Loss vs. Budget (FIN05408) Profit and Loss vs Budget Dashboard - XC (FIN600001) Budget Report - KPI (FIN05440) Budget Report (FIN05433)

104 106 107 109 110

2.6.3.4.5
2.6.3.4.5.1 2.6.3.4.5.2 2.6.3.4.5.3

Customer (A/R)
Customer (A/R) Ageing Report - LD (FIN05406) Customer (A/R) Ageing Statement - LD (FIN05418) Customer (A/R) Account Journals - LD (FIN05410)

111
111 113 114

2.6.3.4.6
2.6.3.4.6.1 2.6.3.4.6.2

Vendor (A/P)
Vendor (A/P) Ageing Report - LD (FIN05406) Vendor (A/P) Account Journals - LD (FIN05410)

115
115 117

2.6.3.4.7
2.6.3.4.7.1 2.6.3.4.7.2 2.6.3.4.7.3

Lists
Chart of Accounts - LD (FIN05401) Chart of Accounts KPI - LD (FIN05401) Chart of Accounts Template - LD (FIN05401)

118
118 119 120

2.6.3.4.8 2.6.3.4.9
2.6.3.4.9.1 2.6.3.4.9.2 2.6.3.4.9.3 2.6.3.4.9.4

Cash Flow Tax Report


VAT by Code (FIN05414) VAT by Account (FIN05415) Tax Report Switzerland (FIN05450) - CH Only Tax Report Switzerland 01.01.2010 - 30.06.2010 (FIN60002) - CH Only

121 122
122 122 122 123

2.6.3.5 2.6.3.5.1 2.6.3.5.2 2.6.3.5.3 2.6.3.5.4 2.6.3.6 2.6.3.6.1

Sales Reports
Sales Revenue Dashboard - XC (SAR130003) Documents - Sales - LD (SAR06000) Sales Pivot (SAR06001) Sales Backorder Report - SAP Form (SAR130004)

123
123 125 127 128

Service
Service Dashboard - XC (SRV140000)

130
130

3
3.1
3.1.1

CORESUITE LIQUIDITY PACKAGE


Cash Flow Statement (FIN60004)
Window Parameter: Cash Flow Statement (FIN60004)

131
132
132

3.2
3.2.1

Customer Payment Rating (FIN60007)


Window Parameter: Customer Payment Rating (FIN60007)

133
133

3.3
3.3.1

Liquidity Forecast (FIN60000)


Window Parameter: Liquidity Forecast (FIN60000)

134
134

3.4

Define Installments

137

4
4.1

CORESUITE CUSTOMIZE
System requirements

139
139

4.2 4.3 4.4


4.4.1
4.4.1.1 4.4.1.2 4.4.1.2.1 4.4.1.2.2 4.4.1.2.3

Introduction Rules Description of forms


Optimizer
Event Logger Editors
coresuite customize editor Regular expression editor (RegEx Editor) coresuite customize SQL editor

140 141 143


144
148 150
150 152 153

4.4.2 4.4.3 4.4.4 4.4.5 4.4.6 4.4.7


4.4.7.1 4.4.7.2 4.4.7.2.1 4.4.7.2.2

Item Placement Function Button New Items New Menu Extended Code Export / Import
Export Rules Import Rules
Import Example Rules (Examples) Delete Rules

155 158 160 163 165 166


166 168
170 172

4.4.8 4.4.9
4.4.9.1 4.4.9.2

Import Excel rows to UDT UDT Handler


General Fields

173 176
177 179

4.5
4.5.1 4.5.2 4.5.3 4.5.4 4.5.5 4.5.6 4.5.7 4.5.8

Right-click menu / Wizard


Add CFL Hide field Color field Lock field Make field mandatory Add folder Move Field Copy UDF to main window

181
182 184 186 188 189 190 192 195

4.6
4.6.1 4.6.2
4.6.2.1

coresuite customize reference guide


Authorizations Basic skills - Coding
Matrix

198
198 200
200

4.6.2.2 4.6.2.3 4.6.2.4

Reading values Creating items Creating grids

201 201 202

4.6.3 4.6.4 4.6.5 4.6.6 4.6.7 4.6.8 4.6.9 4.6.10 4.6.11 4.6.12 4.6.13
4.6.13.1

User-defined tables Install external DLLs FormType Installed example rules LinkedObjectType PaneLevel Reading parameters SAP windows Translation parameters Practical example 1 - Validation Practical example 2 - Display all prices
Code for practical example 2

203 204 206 208 212 216 218 219 220 222 224
226

4.6.14

Practical example 3 - UDT Handler

227

5
5.1 5.2 5.3
5.3.1
5.3.1.1 5.3.1.2 5.3.1.3 5.3.1.4 5.3.1.5 5.3.1.6 5.3.1.6.1

CORESUITE ENTERPRISE SEARCH


Quick access System requirements Option 1 - Object search
Search Settings
Search only in my documents Include document lines Include closed documents Include canceled documents Included categories Searchable fields
Default searchable fields

232
233 234 235
236
236 237 237 237 238 239
240

5.3.2
5.3.2.1 5.3.2.2

Search types
Indexed search Free text search

242
242 244

5.4 5.5 5.6

Option 2 - All my own open documents Option 3 - Recent modified objects Legend of the icons

246 247 248

6
6.1 6.2 6.3 6.4
6.4.1
6.4.1.1 6.4.1.2

CORESUITE DESIGNER
System requirements Installation Support and Service Authorizations
Data sources
Setting user authorizations Own queries

249
250 250 251 252
252
252 252

6.5
6.5.1
6.5.1.1 6.5.1.2 6.5.1.3 6.5.1.4 6.5.1.5 6.5.1.6 6.5.1.7 6.5.1.8 6.5.1.9

Description of forms
Configuration
General Text Preview Install Select Grid Email(Smtp) Startlayout Batchprint Editor

253
253
254 256 258 259 260 261 263 264 266

6.5.2
6.5.2.1 6.5.2.2 6.5.2.3 6.5.2.4

Layoutmanagement
Export Import Reinstall Activate / Deactivate

267
270 273 275 275

6.5.3
6.5.3.1 6.5.3.2 6.5.3.3 6.5.3.4 6.5.3.5 6.5.3.6 6.5.3.6.1 6.5.3.7

Layoutdefinition
Queries Parameters Details Printer Users External Report
Templates

276
278 280 282 283 285 286
291

Menu

292

6.5.4
6.5.4.1 6.5.4.2

Printdefinition
Documents Extended Definition

294
296 298

6.5.4.3 6.5.4.4

Email/Fax BP

300 302

6.5.5
6.5.5.1 6.5.5.2 6.5.5.3 6.5.5.4 6.5.5.4.1 6.5.5.4.2
6.5.5.4.2.1 6.5.5.4.2.2

Functions menu
Open Data Viewer Open Querygenerator Open Querymanager Open Texts
Translate coresuite editors
coresuite Editor coresuite Script Editor

303
303 304 305 306
308 309
309 309

6.5.5.5 6.5.5.6

Open Parameters Open Formtypes

310 312

6.5.6 6.5.7 6.5.8

Reportwizard Text List Sample Queries

313 320 322

6.6
6.6.1
6.6.1.1 6.6.1.1.1 6.6.1.2 6.6.1.3 6.6.1.4 6.6.1.5 6.6.1.6

coresuite designer reference guide


Practical example 1 - Creating a simple layout
Create printdefinition
Create formtype

323
323
325
326

Create parameter Create query Create layoutdefinition Format the layout Finished layout

326 327 328 329 330

6.6.2
6.6.2.1 6.6.2.2 6.6.2.3 6.6.2.4 6.6.2.5

Practical example 2 - Multilingual document


Adjust printdefinition Create promotion text Create translations for the promotion text Adjust the layout using coresuite designer Check the layout

331
332 332 332 333 333

6.6.3
6.6.3.1 6.6.3.2 6.6.3.3 6.6.3.4 6.6.3.5

Practical example 3 - Parameters


Create query Create layoutdefinition Create parameter Adjust the order of parameters on the form Define standard values for the parameters

334
335 336 337 338 339

6.6.4
6.6.4.1 6.6.4.2 6.6.4.3 6.6.4.4 6.6.4.5 6.6.4.6

Practical example 4 - Select Grid


Layoutdefinition for the letter Query for Business Partners Layoutdefinition for Select Grid Create formtype Create parameter Printdefinition for Select Grid

341
342 343 344 346 347 348

6.6.5
6.6.5.1 6.6.5.1.1 6.6.5.1.2 6.6.5.1.3 6.6.5.2 6.6.5.3 6.6.5.3.1 6.6.5.3.2 6.6.5.4 6.6.5.4.1
6.6.5.4.1.1 6.6.5.4.1.2 6.6.5.4.1.3

General
BatchPrinting
Step 1 - Define query Step 2 - Create SAP Business One alert Step 3 - Adjust coresuite designer configuration

350
350
350 352 352

Remote Printing Copy Queries


Copies using UDFs Number of copies depending on country of BP

353 354
355 356

Printing, Exporting, Displaying


Printing
Step 1 - Printdefinition Step 2 - Layoutdefinition Step 3 - Differences in the layout

357
357
358 358 359

6.6.5.4.2 6.6.5.4.3

PDF export E-Mail

361 362

6.6.6 6.6.7 6.6.8


6.6.8.1 6.6.8.1.1
6.6.8.1.1.1 6.6.8.1.1.2

System parameters Dealing with marketing documents Integrated designer - Sharpshooter


LayoutHelper
Functions
Basic Principles Example

364 366 368


369
369
369 369

6.6.8.1.2
6.6.8.1.2.1 6.6.8.1.2.2 6.6.8.1.2.3 6.6.8.1.2.4 6.6.8.1.2.5 6.6.8.1.2.6 6.6.8.1.2.7 6.6.8.1.2.8 6.6.8.1.2.9 6.6.8.1.2.10

Available functions
Overview over all functions AddAttachement AddHyperlink BookmarkText CreateTableFromText Date DrawImage Fstr GetDesc GetDimensions

373
373 376 378 379 380 384 385 386 387 389

6.6.8.1.2.11 6.6.8.1.2.12 6.6.8.1.2.13 6.6.8.1.2.14 6.6.8.1.2.15 6.6.8.1.2.16 6.6.8.1.2.17 6.6.8.1.2.18 6.6.8.1.2.19 6.6.8.1.2.20 6.6.8.1.2.21 6.6.8.1.2.22 6.6.8.1.2.23 6.6.8.1.2.24 6.6.8.1.2.25 6.6.8.1.2.26 6.6.8.1.2.27 6.6.8.1.2.28

GetEANCheckDigit GetFormattedAddress GetMLDesc IsEmpty IsPurchase / IsSales MultiLine MultiLine RTF OneNewLine OpenLayout OpenObject OpenPrintdef ParamDate ParamDateTime QueryData QueryDataDate ReplaceTextParam WeekOfYear WeekOfYearISO8601

390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407

6.6.8.1.3 6.6.8.1.4 6.6.8.1.5 6.6.8.1.6 6.6.8.1.7 6.6.8.1.8

getData / Data Hyperlink (Drill Down Arrows) Grouping Data Open the Designer Page properties Pivot Tables

408 408 409 410 411 412

6.6.9
6.6.9.1 6.6.9.2 6.6.9.3 6.6.9.4 6.6.9.5 6.6.9.6 6.6.9.7

Crystal Reports Designer


Opening Crystal Reports Designer File storage Multi-language reports Multi-layouts Pre-defined datasources Remote designing Subreports links

413
414 416 417 418 419 421 422

6.6.10
6.6.10.1 6.6.10.2 6.6.10.3 6.6.10.4 6.6.10.5 6.6.10.6 6.6.10.7 6.6.10.8

Crystal Dashboard Designer (formerly XCelsius)


Opening Crystal Dashboard Designer Data transfer File storage Flash file integration Multi-language dashboards Simple XCelsius XML vs. XCelsius XML Refresh interval Sample dashboards

424
425 427 430 431 432 433 434 435

6.6.10.8.1 6.6.10.8.2 6.6.10.8.3

Sample Column Chart - Stock (GEN70002) Sample Gauge - Finance (GEN70001) Sample Pie Chart - Sales (GEN70002)

436 438 441

6.6.11
6.6.11.1 6.6.11.1.1 6.6.11.1.2 6.6.11.2 6.6.11.3 6.6.11.4 6.6.11.5 6.6.11.6

FAQ
Document_88 vs Document Datasource
RowBatchNumbers RowSerialNumbers

444
445
447 450

How to use new Datasource How to adjust VAT Subtotals How to adjust Batch Number details How to adjust Serial Number details How to fix sign errors in payments

453 454 456 458 460

CORESUITE ADMINISTRATION

1.1
1.1.1

Administration
Sip management

Access Modules > Administration > Add-Ons > coresuite administration > Administration > Sip management Window

Fields Name Version File name Date Changelog Install [Button] Hide Sip [Button] Show all ... [Button]

This column displays the name of the add-on. This column displays the version of the add-on. This column displays the name of the .sip file. This column displays the date on which the .sip file was created. The symbol links to a website with more information. Select the module that you want to install and choose Install (see below). Select a .sip file and choose Hide Sip, to stop it being displayed (see below). Activate this checkbox to display hidden .sip files again (see below) Choose this button to enter the path to a .sip-file.

CORESUITE ADMINISTRATION

13

Import [Button]

Choose Import if you have used ... to enter a path to a .sip file that you now want to import.

Download If you choose Download updates, the system searches for the latest updates and lists updates [Button] them, if any are available. OK [Button] Choose OK to accept all changes and to close the window. Add-on Manager Choose Add-on Manager to open the Add-On Manager (for more information, refer to the [Button] official SAP Business One documentation). Installing modules To install a module, choose the relevant module in the coresuite administration window and choose Install. It is possible to install/update several modules at once. Updating modules Here you can install new modules and update existing modules. There are two ways to do this: 1. Using Download Updates Choose Download updates. This downloads the new modules directly from the coresystems ag internet server. The system will only download modules that you have signed up for. 2. Manually If, for example, you do not have an internet connection, you can also import modules manually. To do so, download the modules on another computer that is connected to the internet. You will find the modules on the website http://www.coresystems.ch/modul_download. Once downloaded, copy the modules on a flash drive or burn them onto a CD-ROM and then save them on the computer without internet connection. Use the button ... to enter the path to the .sip file and choose Import. Hiding Sips/Show Sips You can hide .sip files that you do not yet want to install. By doing so, you can prevent another superuser from accidentally installing the module. Select the module you want to hide and choose Hide Sip. To display hidden modules again, activate the checkbox Show all. All modules will be displayed again and can be selected and imported. After installing the relevant modules, you must restart coresuite for the changes to become effective. To do so, choose Add-on Manager in the window coresuite administration or follow the menu path Modules > Administration > Add-Ons > Add-On Manager. Go to the tab Installed Add-Ons and select the addon coresuite. Choose Stop, wait for a moment, then select the add-on again and choose Start to restart the add-on. For some modules, another module might be a prerequisite. In such cases, the system issues a message. Install the indicated module and then proceed with installing the actual module.

CORESUITE ADMINISTRATION

14

1.1.2

License management

Access Modules > Administration > Add-Ons > coresuite administration > Administration > Lizenz management Window

Fields User Use license Name Version Available Valid until ... [Button] Import [Button]

Select the user for which you want to change the settings. Activate this checkbox if you want to assign the relevant license to the selected user. This column displays the name of the module. This column displays the version of the module. Here you can see how many licenses are available still/in total. This column displays the expiry date of the license. Enter the path to the license if there is no internet connection. Choose Import if you have used ... to enter a path to a license that you now want to import.

Download Choose Download license to download the license(es) directly from the coresystems license [Button] Partner Portal. OK [Button] Add-On Manager [Button] Choose OK to accept all changes and to close the window. Choose Add-on Manager to open the Add-On Manager (for more information, refer to the official SAP Business One documentation).

Procedure Usually, you can use Download license to download licenses. If, for some reason, you do not have an internet connection, you can also download the license using another computer (with internet connection). You can then enter the path to the license and import it by choosing Import.

CORESUITE ADMINISTRATION

15

1.1.3

Global module configuration

Access Modules > Administration > Add-Ons > coresuite administration > Administration > Global module configuration Window

Fields Name Version Is active

This column displays the name of the module. This column displays the version of the module. Define if the module should be active or not on the global level: Yes - The module is active on global level. No - The module is inactive on global level. The symbol links to a website with more information. Choose OK to accept all changes and to close the window.

Info OK [Button]

Add-on Manager Choose Add-on Manager to open the Add-On Manager (for more information, refer to the [Button] official SAP Business One documentation).

CORESUITE ADMINISTRATION

16

1.1.4

User module configuration

Access Modules > Administration > Add-Ons > coresuite administration > Administration > User module configuration Window

Fields User Name Version Is active

Select the user for which you want to change the settings. This column displays the name of the module. This column displays the version of the module. Define if the module is active for the selected user or not. You can choose from the following options: Inactive Active Default - If you choose this option, the system will copy the setting defined on the tab Globale module configuration. Choose OK to accept all changes and to close the window.

OK [Button]

Add-on Manager Choose Add-on Manager to open the Add-On Manager (for more information, refer to the [Button] official SAP Business One documentation).

CORESUITE ADMINISTRATION

17

1.2

Cloud Administration

Access Modules > Administration > Add-Ons > coresuite administration > Cloud Administration If you choose this menu entry, you will be redirected to the website https://www.coresuite.com/store/#login, where you can log in.

CORESUITE ADMINISTRATION

18

CORESUITE ACCOUNTING

2.1

Objectives and General Information

To access coresuite accounting, go to Modules > Financials > coresuite accounting > Mapping. A window appears where you can map the accounts, i.e. assign them to classes (three-digit numbers). The coresuite accounting offers the following advantages: Overview / contraction of the key figures on one page (for example income statement) Meaningful financial ratios (KPI or Key Performance Indicators) Due to a standardization (division into classes and class groups) it will be easier to poll more complex financial ratios such as liquidity levels, profit margins, etc. With the help of these classifications and the resulting Key Performance Indicators (KPIs), all responsible people get a holistic overview over the company in short time. Standardized financial reports for SAP Business One customers that look the same for all customers (independent of industry, country, etc.). The standardized reports can easily be compared. Sums and consolidated data that cannot be modified. This results in fewer issues for the customers and cuts the number of support cases. The mapping makes it possible to achieve international standards and comparisons. Once the mapping is configured correctly, it is possible to display intermediate results (e.g. gross profit, EBIT) and the significance of the reports increases. Furthermore, upcoming versions of coresuite accounting will contain new reports based on the mapping configuration. Thanks to the mapping it is also possible to create analytical evaluations (e.g. business assessment or KPI). These can be standardized or customized. Most financial reports of coresuite accounting will work without configuring the mapping. However, the correct

CORESUITE ACCOUNTING

19

configuration will bring many benefits to the customer. coresystems ag created the content of these financial reports in collaboration with local partners and has optimized them as far as possible. However, coresystems ag does not assume any responsibility regarding the completeness of the country-specific fiscal and legal requirements and cannot be held liable by third parties.

CORESUITE ACCOUNTING

20

2.2

Mapping window

coresuite country package is delivered with a version of coresuite accounting that contains the mapping for the relevant country. coresystems has created the mapping in collaboration with partners in the relevant countries. When installing coresuite accounting for the first time, we recommend that the SAP partner or the end-customer's accountant (maybe even together with the tax advisor) reviews the mapping and makes adjustments if necessary. Access Modules > Financials > coresuite accounting > Mapping Window

Fields Level 1 Select the relevant SAP drawer. You can choose from the following options: Assets Liabilities Equity Revenues Cost of Sales Expenses Financing Other Revenues and Expenses Activate this checkbox to only display accounts that have not been assigned. This field displays the type of account: Balance Sheet Profit and Loss This is assigned automatically by coresuite accounting. This column displays the sub-categories of the selected SAP drawer. You can compress/ expand these sub-categories.

Only not assigned Type

Level 2

CORESUITE ACCOUNTING

21

Level 3 AccountCode Name Class

This column displays the sub-categories of Level 2. You can compress/expand these subcategories. This column displays the code of the relevant G/L account according to the company's Chart of Accounts. This column displays the name of the relevant G/L account according to the company's Chart of Accounts. Select the class (three-digit number) from the drop-down list, to which you want to assign the relevant account. You must assign each account to a class. The four-digit numbers in the drop-down list are class groups: These are of information purposes only and cannot be selected. Choose OK to close the window. Choose Update to save your changes. Choose Cancel if you made changes that you do not want to save. Choose Import to import a mapping that has already been defined. Importing a mapping overwrites any existing mapping.

OK / Update Cancel Import

Export

Choose Export to export the existing mapping. Define where you want to save the mapping and choose Save. The mapping will be exported as .xml file. Choose Mapping Overview to display the items in a PDF file. Also see Mapping Overview. Choose Compress/Expand to display/hide all items in the list.

Mapping Overview Compress/ Expand

Procedure Each account must be assigned to a class (three-digit number). If a class is unused, it will not appear in the report. Some classes may not be needed in some countries. In this case, they can simply be ignored. The class codes are pre-installed and must not be changed. The class tables are managed by coresystems ag. If you have suggestions for improvements, please let us know (support@coresystems.ch). When upgrading coresuite accounting, the tables will be overwritten with the new standard tables. You can map several lines at once: Select the relevant lines and select a class for one of the selected lines. All other selected lines will be assigned to the same class.

CORESUITE ACCOUNTING

22

Unassigned accounts If the Mapping Overview contains unassigned accounts, these will be listed at the beginning of the overview:

If one or several accounts are not assigned, they cannot be displayed in the relevant KPI reports. The KPI reports can be found here: Modules > coresuite reports > Financials > all reports with "KPI" in the title. For KPI reports, the mapping must be complete; otherwise, the system issues an error message.

CORESUITE ACCOUNTING

23

2.2.1

Mapping Overview

The Mapping Overview offers an overview over the G/L accounts. The document is displayed in PDF format which can easily be saved, printed, sent via e-mail, etc. By choosing (Edit Preview), you can open the document in Report Sharp-Shooter, change the layout and save the document as Report Sharp-Shooter file (*. rsd). Procedure Choose Mapping Overview in the Mapping window to display the window Parameter: Mapping Overview. Window

Fields Layout description Overview of the chart of accounts which is an index of all general ledger (G/L) accounts used by one or more companies.

Show last level The last level contains the data from the columns AccountCode and Name. (Text) Choose Yes to display the last level (see example below). Choose No if you do not want to display the last level (see example below). Default Values OK Cancel If you choose Default Values, the last level will be displayed. Choose OK display the Mapping Overview. Choose Cancel to close the window without displaying the Mapping Overview.

CORESUITE ACCOUNTING

24

Mapping Overview with last level

Mapping Overview without last level

CORESUITE ACCOUNTING

25

2.3

Subtotals, classes and class groups

For financial reports, all accounts are assigned to a specific class (three-digit number). These classes are assigned to a class group (four-digit number). This assignment cannot be changed. Subtotals (two-digit number) are calculated according to the class groups and classes. Any financial report which is named with "KPI" (Key Performance Indicators) is based on the allocation of accounts to classes. Below is a list of all subtotals (two-digit number in brackets), class groups (four-digit number) and classes (three-digit number) along with a brief explanation of which account type should be assigned to the relevant class. Description / Subtotal / Class Group / Class Description

BALANCE SHEET
Assets (10) 1000 : Cash at Bank and In Hand 100 : Petty Cash 110 : Cash at Bank 115 : Bank Loan 1005 : Securities 120 : Securities 1010 : Short-term Debtors 130 : Short-term Debtors domestic 140 : Short-term Debtors foreign 150 : Short-term Debtors intercompany 1015 : Other Debtors 151 : Other Debtors 1020 : Long-term Debtors 160 : Long-term Debtors domestic 170 : Long-term Debtors foreign 180 : Long-term Debtors intercompany 1025 : Deferred tax 187 : Deferred tax (Assets) 1030 : Prepayments 190 : Prepayments 1035 : Debit Differences 197 : Debit Differences 1040 : Stock 200 : Stock 1045 : Work in Progress (WIP) The sum of all assets Banks and cash Physical money that can be accessed immediately All currently available bank accounts Bank loans granted to third parties, which can be claimed at short notice Securities Short-term securities, which are easily recoverable Short-term debts (domestic, foreign, intercompany) Short-term domestic debts without intercompany Short-term foreign debts without intercompany Short-term intercompany debts Other Debtors Other debtors Long-term debts (domestic, foreign, intercompany) Long-term domestic debts without intercompany Long-term foreign debts without intercompany Long-term intercompany debts Deferred tax Deferred tax (Assets) Prepaid expenses and not yet received income (deferred and accrued assets) Prepaid expenses and not yet received income (deferred and accrued assets) Debit Differences Debit Differences Sum of all stocks Stocks in general, including finished and semi-finished goods and raw materials Work in Progress (WIP)

CORESUITE ACCOUNTING

26

Description / Subtotal / Class Group / Class 205 : Work In Progress 1049 : Financial Assets 210 : Financial Assets 1050 : Tangible Fixed Assets 220 : Tangible Fixed Assets 230 : Land and Building 1060 : Intangible Fixed Assets 240 : Capitalized Costs 250 : Intangible Fixed Assets 1065 : Assets not assigned 255 : Assets not assigned Liabilities (20) 1070 : Short-term liabilities 260 : Short-term liabilities domestic 270 : Short-term liabilities foreign 280 : Short-term liabilities inter company 1075 : Other liabilities 285 : Other liabilities 1080 : Long term liabilities 310 : Liabilities Due After One Year domestic 320 : Liabilities Due After One Year foreign 330 : Liabilities Due After One Year inter company 335 : Liabilities due after 5 years 1083 : Deferred Income 261 : Deferred income

Description Work in Progress (WIP) Long-term financial assets (including investments, awarded loans) Long-term financial assets (including investments, awarded loans) Tangible assets (including real estate, furniture) For example machinery, furniture, IT equipment, motor vehicles, tools, appliances, etc. Real estate Intangible assets such as patents and licenses, and capitalized services For example formation expenses and business expansion costs For example patents, licenses, goodwill, etc. Asset accounts which cannot be assigned This is a collection of asset accounts that cannot be specifically assigned to any other class. The sum of all debts and obligations Short-term liabilities (including accrued liabilities) Short-term domestic liabilities without intercompany Short-term foreign liabilities without intercompany Short-term intercompany liabilities Other liabilities Other liabilities Long-term liabilities Long-term domestic liabilities without intercompany (< 5 years) Long-term foreign liabilities without intercompany (< 5 years) Long-term intercompany liabilities Long-term liabilities which are due after 5 years or more Deferred Income Income received during an accounting period for which the company has not yet delivered goods and services. Deferred tax Deferred tax (Liabilities) Accruals Not yet paid expenses and income received in advance (deferred and accrued assets) Short-term liabilities, which are still uncertain (reason, date or amount)

1084 : Deferred tax 271 : Deferred tax (Liabilities) 1085 : Accruals 290 : Accruals 300 : Provisions

CORESUITE ACCOUNTING

27

Description / Subtotal / Class Group / Class 340 : Other Provisions Equity (30) 1090: Capital 350 : Capital 1100 : Profit and retained earnings 360 : Profit and retained earnings 1110 : Liabilities not assigned 370 : Liabilities not assigned

Description Long-term liabilities which are still uncertain (reason, date or amount). The sum of all assets minus liabilities (debts / obligations) Share capital, subscribed capital Share capital, issued capital Equity that cannot be allocated to share capital (e.g. profits, reserves) For example reserves, profit and loss, retained earnings, provision for own shares, capital reserve Asset accounts that cannot be assigned This is a collection of liability accounts that cannot be specifically assigned to any other class.

PROFIT AND LOSS


5000 : Turnover 500 : Revenue realized 505 : Services 507 : Revenue from Production 510 : Change in Stock 520 : Revenue unrealized Turnover (40) 5010 : Cost of Sales 530 : Cost of Sales Gross Profit (50) Operational revenue from the core business, including stock changes and capitalized service Revenue from the sales / distribution / retail, etc. ( "general" sales class) Option to additionally divide revenues into services Revenue from production Stock changes for products and production work in progress or semi-finished and finished goods. Internally produced and capitalized assets All revenues from the core business, including capitalized service and decrease in profits. Miscellaneous expenses and purchases directly related to transactions Miscellaneous expenses and purchases, which are directly related to transactions Revenues minus direct costs (material and product purchasing) not including personnel costs. Operational revenue that does not result from the core business Operational income, which does not result from the core business Gross Profit minus Miscellaneous Revenue (540) Salary, social insurance, other charges For example salaries, social insurance, expenses, personnel expenses Social insurance, other social costs which are not assigned as salary and benefits Revenues minus direct costs (material and product purchasing) including personnel costs

5020 : Miscellaneous Revenue 540 : Miscellaneous Revenue Operating Gross Profit (60) 5025 : Salary and Benefits 550 : Salary & Benefits 550 : Social Costs Operating Gross Profit after Salary (65)

CORESUITE ACCOUNTING

28

Description / Subtotal / Class Group / Class 5030 : Total Costs 560 : Utilities 570 : Tax 580 : Insurance 585 : Rent & Rates 590 : Other Costs 600 : Motor Vehicle Expenses 610 : Travel & Entertainment 620 : Freight 640 : Maintenance and Repair 650 : General and Administrative Expenses 700 : Control Cost Accounting

Description Operating expenses from ordinary activities For example rent, energy, cleaning For example industrial or motor vehicle tax For example company insurance (excluding motor vehicles) For example rent Other costs which should be in a separate group according to the SAP end customer. For example current costs for motor vehicles, repairs, motor vehicle insurance, leasing For example advertising, marketing, entertainment expenses For example packaging, freight, sales commissions, warranty costs Maintenance, repair and replacement of fixed assets, real estate, etc. Other costs that are directly related to the operation This class can be used for an accounting transfer of indirect costs (e.g. rent and/or personnel costs) in direct costs which will be posted to the gross profit. Operating profit excluding the financing of the company, the external personal achievements and not cash-flow-related write-offs Depreciation of assets Depreciation on investments (loss due to retirement) Operating profit excluding the financing of the company, the external personal achievements and the tax burden (location). Financial expenses and neutral / non-business / extraordinary expenses that have not direct relationship to the operating expenses For example interest expense, default interest, bank charges, losses from securities, exchange rate differences Neutral / non-operational / extraordinary expenses Financial income and neutral / non-business / extraordinary income that has not direct relationship with the operating income For example interest expense, default interest, bank charges, losses from securities, exchange rate differences Neutral / non-operational / extraordinary income Income accounts that cannot be charged otherwise This is a collection of turnover accounts, which cannot be specifically assigned to any other class.

Earnings Before Interest, Taxes, Depreciation, and Amortization (EBITDA) (70) 5035 : Depreciation 630 : Depreciation Earnings Before interest and Taxes (EBIT) (75)

5040 : Financial Expenses

660 : Interest Charges

670 : Other Interest Receivable and Similar Income 5050 : Non-Operating Income

680 : Other Interest Receivable

690 : Income from Other Fixed Asset Investments 5060 : Unassigned/Miscellaneous 710 : Unassigned / Miscellaneous

CORESUITE ACCOUNTING

29

Description / Subtotal / Class Group / Class Earnings Before Taxes (EBT) (80) 5070 : Tax on Profit/Loss on Ordinary Activities 720 : Tax on Profit/Loss on Ordinary Activities Profit(Loss) (95)

Description Operating profit excluding the tax burden (location) Sum of corporation taxes Corporation or deferred tax expense Sum of all income and expenses of the enterprise (company's profit)

"Control Cost Accounting" can be used to transfer costs from indirect cost (class group: Total Costs) to direct costs which will be posted to the gross profit. Examples are salaries or rent, which clearly can be assigned directly to a turnover.

CORESUITE ACCOUNTING

30

Classes are defined in the table COR_FIN_ACCTCLASS.

2.4

Free classes

For each class group coresuite accounting provides so called free classes. You can use these free classes to define your own account classes. The original description of the free classes is Free XXX where XXX is the account class code. In order to display the correct description, you must adjust the text code of the corresponding free class. If you need to adjust the description of account classes or class groups for many databases or accounts we suggest to use the coresuite designer function Text Import. For more information refer to the FAQ How can I adjust the description of account classes?

2.5

Properties

The coresuite accounting module provides the option to define your own codes and properties for the predefined account classes and groups. There are two user tables COR_FIN_ACCTCLSPRP and COR_FIN_ACCTGRPPRP created with the coresuite accounting module which are not filled or adjusted by coresuite. It is up to the user to enter the correct values. The reports are designed to use the user-defined values and properties in case there are any defined. If no user-defined values exist the predefined values are used. To import user-defined values in the two user tables COR_FIN_ACCTCLSPRP and COR_FIN_ACCTGRPPRP we suggest to use the coresuite customize function Import Excel rows to UDT. For more information refer to the FAQ How can I import user-defined properties?

CORESUITE ACCOUNTING

31

2.6
2.6.1

coresuite accounting reference guide


User tables

The following chapters focus on the user tables which are created during the installation of the coresuite accounting module. Only the most important fields are described. You can find these user tables under Tools > User-Defined Windows. COR_ACCT_CONF COR_DOC6 COR_FIN_ACCTCALCDEF COR_FIN_ACCTCFLOW COR_FIN_ACCTCLASS COR_FIN_ACCTCLSGRP COR_FIN_ACCTCLSPRP COR_FIN_ACCTCORMSK COR_FIN_ACCTGRPMSK COR_FIN_ACCTGRPPRP COR_KPI1 COR_OKPI

2.6.1.1

COR_ACCT_CONF

Purpose The user table COR_ACCT_CONF is the configuration table of the coresuite accounting module. Fields Version Current version of the coresuite accounting module.

If you want to re-install of the coresuite accounting module, simply decrease the version number in this table by one and restart the coresuite add-on.

2.6.1.2

COR_DOC6

Purpose The user table COR_DOC6 is used to store the installments defined with the coresuite liquidity package. For more information on how to define installments, refer to the documentation of the coresuite liquidity package module. Fields ObjType DocEntry InstlmntID DueDate Percent Object type of the document for which the installments are defined. Document entry of the document for which the installments are defined. Installment ID of the installment defined. Due date for the installments. Percent of the total amount that should be paid with this installment.

Adjusting any values (Add, Update, Delete via direct SQL or user-defined window) in this table is likely to lead to data corruption, and is not supported. If you adjust any values, you do so at your own risk.

CORESUITE ACCOUNTING

32

2.6.1.3

COR_FIN_ACCTCALCDEF

Purpose The values in the user table COR_FIN_ACCTCALCDEF are used to define the Subtotals in the KPI reports. Fields ClsGroup CoreMask ID of the class group. ID of the subtotal for the class group.

Adjusting any values (Add, Update, Delete via direct SQL or user-defined window) in this table is not supported. The values will be overwritten in every update of the coresuite accounting module.

2.6.1.4

COR_FIN_ACCTCFLOW

Purpose The values in the user table COR_FIN_ACCTCFLOW are used to build the structure of the Cash Flow Statement (FIN60004) available in the coresuite liquidity package. Fields ClsCode CFGroup CFFactor Sort ID of the class. ID of the cash flow group. Factor to multiply balances in this class for the Cash Flow Statement (FIN60004). Sort order in the Cash Flow Statement (FIN60004). Adjusting any values (Add, Update, Delete via direct SQL or user-defined window) in this table is not supported. The values will be overwritten in every update of the coresuite accounting module.

2.6.1.5

COR_FIN_ACCTCLASS

Purpose The values in the user table COR_FIN_ACCTCLASS define Account Classes which are used to provide standardized and country-independent simple KPI reports. The field for the multi-language functionality allows for the naming of the classes. Fields ClsCode ClsGroup ClsID ClsDesc Sort ID of the actual class (three-digit code). ID of the class group (four-digit code). Internal description of the class in German and English. Text code used for multi-language functionality of the coresuite designer module to display the class description in the correct language. Sort order in the KPI reports. Adjusting any values (Add, Update, Delete via direct SQL or user-defined window) in this table is not supported. The values will be overwritten in every update of the coresuite accounting module.

CORESUITE ACCOUNTING

33

2.6.1.6

COR_FIN_ACCTCLSGRP

Purpose The values in the user table COR_FIN_ACCTCLSGRP define the names for the class groups. The field for the multi-language functionality allows for the naming of the class groups. Fields ClsGroup GroupID GroupDesc ID of the class group (four-digit code). Internal description of the class group in German and English. Text code used for multi-language functionality of the coresuite designer module to display the class group description in the correct language.

Adjusting any values (Add, Update, Delete via direct SQL or user-defined window) in this table is not supported. The values will be overwritten in every update of the coresuite accounting module.

2.6.1.7

COR_FIN_ACCTCLSPRP

Purpose The user table COR_FIN_ACCTCLSPRP can be used by the customer to define own properties for account classes. Once the properties are defined they are used in the standardized reports. Fields ClsCode ID of the actual class (three-digit code). This code is the key to link to the COR_FIN_ACCTCLASS table.

ExternalCod User-defined code of the class. e InterCompan Property of the account class to define if it is an account class relevant for Intercompany ('Y') y or not ('N'). SortCustom DeletedF User-defined sort order in the KPI reports. Flag if an entry was deleted ('Y') or is valid ('N').

If you adjust any values (Add, Update, Delete via direct SQL or user-defined window) in this table, you do so at your own risk. The values in this table will NOT be adjusted or overwritten in updates of the coresuite accounting module. To import user-defined values in this table we suggest to use the Import Excel rows to UDT function of the coresuite customize module.

2.6.1.8

COR_FIN_ACCTCORMSK

Purpose The values in the user table COR_FIN_ACCTCORMSK define the name of the Subtotals in the KPI Reports. Fields CoreMask CoreId CoreDesc ID of the subtotal for the class group. Internal description of the subtotal in German and English. Text code used for multi-language functionality of the coresuite designer module to display the subtotal description in the correct language.

CORESUITE ACCOUNTING

34

Adjusting any values (Add, Update, Delete via direct SQL or user-defined window) in this table is not supported. The values will be overwritten in every update of the coresuite accounting module.

2.6.1.9

COR_FIN_ACCTGRPMSK

Purpose The values in the user table COR_FIN_ACCTGRPMSK map the drawers in the chart of accounts to the subtotals for the class groups and provide a standardized separation of P&L and balance sheet. With the help of these fields, the coresuite accounting module can provide simple Key Performance Indicators (KPI) such as "Gross Profit" without the full completion of the class mapping. Fields GroupMask Typ CoreMask Drawer according to the Chart of Accounts in the system. Type of the group mask. "P" is used for Profit and Loss (P&L) and "B" is used for the Balance Sheet. ID of the subtotal for the class group to link to the table COR_FIN_ACCTCORMSK.

Any adjustments of values (Add, Update, Delete via direct SQL or User-Defined Window) on this user table are not be supported. The values will be overwritten in every update of the coresuite accounting module.

2.6.1.10

COR_FIN_ACCTGRPPRP

Purpose The user table COR_FIN_ACCTGRPPRP can be used by the customer to define own properties for account class groups. Once the properties are defined they are used in the standardized reports. Fields ClsGroup ID of the actual class group (four-digit code). This code is the key to link to the COR_FIN_ACCTCLSGRP table.

ExternalCod User-defined code of the class group. e DeletedF Flag if an entry was deleted ('Y') or is valid ('N')

If you adjust any values (Add, Update, Delete via direct SQL or user-defined window) in this table, you do so at your own risk. The values in this table will NOT be adjusted or overwritten in updates of the coresuite accounting module. To import user-defined values in this table we suggest to use the Import Excel rows to UDT function of the coresuite customize module.

2.6.1.11

COR_KPI1

Purpose The user table COR_KPI1 can be used by the customer to define their own Key Performance Indicators (KPI) used in reports and dashboards. Fields KPIEntry ID of the KPI entry. This is the link to the user table COR_OKPI as the header table.

CORESUITE ACCOUNTING

35

LineNum Description

Line ID of the KPI entry row. Description of the KPI entry row.

ValueNumer Numeric value of the KPI as a limit or condition. ic ValueAlpha Numeric ValueDate Unit ValidFrom ValidTo Alphanumeric value of the KPI as a limit or condition. Date value of the KPI as a limit or condition. Unit of measure of the KPI value as limit or condition Start date from which the KPI is valid. End date until which the KPI is valid.

If you adjust any values (Add, Update, Delete via direct SQL or user-defined window) in this table, you do so at your own risk. The values in this table will NOT be adjusted or overwritten in updates of the coresuite accounting module.

2.6.1.12

COR_OKPI

Purpose The user table COR_OKPI can be used by the customer to define own Key Performance Indicators (KPI) used in reports and dashboards. Fields KPIEntry Category Description LinkedObj LinkedField LinkedField Value ID of the KPI Entry. This is the link to the user table COR_KPI1 as the rows table. Category for the KPI. Description of the KPI Entry. Name of the table to link the KPI entry with. Name of the field to link the KPI entry with. Value of the field when this KPI Entry is valid

If you adjust any values (Add, Update, Delete via direct SQL or user-defined window) in this table, you do so at your own risk. The values in this table will NOT be adjusted or overwritten in updates of the coresuite accounting module.

CORESUITE ACCOUNTING

36

2.6.2

FAQ

In our forum you will many questions answers from our community for coresuite accounting: http://forum.coresystems.ch/forum/10-reports-coresuite-accounting/

Other frequent questions include: I want to adjust the description of many account classes. What is the most efficient way to do this for may classes? See answer under How can I adjust the description of account classes? I want to display my companies codes for account classes or class groups in the reports instead of the codes defined See answer under How can I import user-defined properties? I have used coresuite accounting for a long time and just upgraded from a version below 2.5 to the latest Version. I noticed that some of my old reports are not working as expected after the upgrade. How can I fix this? See answer under How can I adjust reports prior to version 2.5

2.6.2.1

How can I adjust the description of account classes?

Issue I do not like the description of the account classes and need to use several free classes. I might need the same description for several databases. Solution 1 The description of account classes and class groups is stored in the user table SWA_LD_TEXT created by the coresuite designer module. This table can be accessed via Tools > Default Forms > SWA_LD_TEXT Text Another option to find the correct Text Codes is to open the Report Text List - LD (GEN00001) which can be opened from Modules > Administration > Add-Ons > coresuite designer > Text List - LD (GEN00001). In this report you can search for the text code and select the linked arrow to open the user table SWA_LD_TEXT at the correct position. Make sure to adjust the text Code in all relevant languages. If there are many entries to adjust or if you need to adjust the entries for several databases we suggest to use solution 2. Solution 2 Adjust the xml file which contains all the Text Codes with description of account classes and groups and use the Text Import function of the coresuite designer module. 1. Copy the file cor_txt_accountmapping.xml which is stored on the SAP Business One client installation in the AddOns folder to another location. The default location if the file is C:\Program Files (x86)\SAP\SAP Business One\AddOns\COR\coresuite\SWA_LD_Pack ageBase\text 2. Open the file and adjust the descriptions to your requirements. Ensure to not delete or adjust the XML flags but only the description in the corresponding languages. 3. Save the file. 4. Import the file in every database via Modules > Administration > Add-Ons > coresuite designer > Configuration > Text Tab > Import Button.

CORESUITE ACCOUNTING

37

2.6.2.2

How can I import user-defined properties?

Issue I want to display my companies codes for account classes or class groups in the reports instead of the codes defined Solution Import the codes into the Property Table COR_FIN_ACCTCLSPRP and/or COR_FIN_ACCTGRPPRP with the Import Excel rows to UDT function of the coresuite customize module. For more information on how to use this function refer to the coresuite customize manual.

2.6.2.3

How can I adjust reports prior to version 2.5?

As of version 2.5, coresuite accounting (csa) replaces the following datasources with more generic ones: Balance ProfitAndLoss AccountMovements2 AccountMovements JournalEntry BPAccountMovements Budget This means that any duplicated layout which uses any of those datasources, will no longer work. If during installation, csa detects that some layouts will be affected by this change, it will prompt the following message:

If you choose "Remind me later", the layouts will not be removed and the datasources will continue to work. Each user will be reminded every time coresuite starts If you choose "Export and Remove", the affected Layouts will be automatically exported:

You can restore the old layouts by following Restoring Layouts with old Datasource

CORESUITE ACCOUNTING

38

2.6.2.3.1

Restoring layouts with old datasource

Step 1 - Import the layout: Import your layout from the file which was was created during the Datasource Update, and open it up in the Layoutdefinition:

You can find the file under %temp%\swald\mycompany\backups Step 2 - Save the queries in SAP Business One: Overview Grid: In this table you can see which queries are involved and how they are related to each other. Query1 Query2 Linkfield1 Linkfield2 GPHeader GPDetails ShortName ShortName

In this case you would need to copy the queries GPHeader and GPDetails into SAP Business One.

CORESUITE ACCOUNTING

39

You have to save the Queries with the exactly same name as before Step 3 - Remove the System Datasource and add the saved queries:

Link Fields are case sensitive

CORESUITE ACCOUNTING

40

2.6.2.3.1.1 Balance (FIN05402) Queries: Query1 Balance Query2 Linkfield1 Linkfield2

2.6.2.3.1.2 ProfitAndLoss (FIN05404) Queries: Query1 ProfitAndLoss Query2 Linkfield1 Linkfield2

2.6.2.3.1.3 Movements (FIN05407) Queries: Query1 AccountHeader Query2 AccountDetails Linkfield1 Account Linkfield2 Account

2.6.2.3.1.4 Movements2 (FIN05420) Queries: Query1 Movements Query2 AP_Invoice_Description Linkfield1 TransID Linkfield2 TransID

2.6.2.3.1.5 Journal Entry (FIN05419) Queries: Query1 JournalEntry Query2 Linkfield1 Linkfield2

2.6.2.3.1.6 BP Movements (FIN05410) Queries: Query1 GPHeader Query2 GPDetails Linkfield1 Account Linkfield2 Account

2.6.2.3.1.7 Budget (FIN05408, FIN05409) Queries: Query1 Budget Query2 Linkfield1 Linkfield2

CORESUITE ACCOUNTING

41

2.6.2.3.2

Queries version 2.5

Below is a list of all queries used in accounting version 2.5 in order to help to restore layouts created with old datasources. The queries of newer versions are not documented. Balance ProfitAndLoss AccountHeader AccountDetails Movements AP_Invoice_Description JournalEntry GPHeader GPDetails Budget

CORESUITE ACCOUNTING

42

2.6.2.3.2.1 Balance
/* @@Timeout=[1200] */ DECLARE @MainCurr AS VARCHAR(3) SET @MainCurr = (SELECT T2.MainCurncy FROM OADM T2) DECLARE @ToDate AS DATETIME SET @ToDate = '[%ToDate]' /*DECLARE @FromDate AS DATETIME SET @FromDate = '01.01.2000'*/ DECLARE @IgnoreAdj AS VARCHAR(1) SET @IgnoreAdj='[%IgnoreAdj]' DECLARE @ShowZAcc as Varchar(1) set @ShowZAcc = '[%ShowZAcc]' DECLARE @AddVoucher as Varchar(1) SET @AddVoucher = '[%AddVoucher]' DECLARE @FinancYear AS DATETIME SET @FinancYear = (SELECT T0.FinancYear FROM OACP T0 INNER JOIN OFPR T1 ON T0.PeriodCat = T1.Category WHERE T1.F_RefDate <= @ToDate AND T1.T_RefDate >= @ToDate)

SELECT T0.Levels , CASE WHEN t0.Levels = '1' THEN t0.AcctCode ELSE CASE WHEN t0.Levels = '2' THEN t1. AcctCode ELSE CASE WHEN t0.Levels = '3' THEN t2.AcctCode ELSE CASE WHEN t0.Levels = '4' THEN t3.acctCode ELSE CASE WHEN t0.Levels = '5' THEN t4.acctCode ELSE '0' END END END END END as Level1 , CASE WHEN t0.Levels = '1' THEN '0' ELSE CASE WHEN t0.Levels = '2' THEN t0.Acctcode ELSE CASE WHEN t0.Levels = '3' THEN t0.Fathernum ELSE CASE WHEN t0.Levels = '4' THEN t1. Fathernum ELSE CASE WHEN t0.Levels = '5' THEN t2.Fathernum ElSE '0' END END END END END as Level2 , CASE WHEN t0.Levels = '1' THEN '0' ELSE CASE WHEN t0.Levels = '2' THEN '0' ELSE CASE WHEN t0.Levels = '3' THEN t0.AcctCode ELSE CASE WHEN t0.Levels = '4' THEN t0.fathernum ELSE CASE WHEN t0.Levels = '5' THEN t1.Fathernum ELSE '0' END END END END END as Level3 , CASE WHEN t0.Levels = '1' THEN '0' ELSE CASE WHEN t0.Levels = '2' THEN '0' ELSE CASE WHEN t0.Levels = '3' THEN '0' ELSE CASE WHEN t0.Levels = '4' THEN t0.acctCode ELSE CASE WHEN t0. Levels = '5' THEN t0.fathernum ELSE '0' END END END END END as Level4 , CASE WHEN t0.Levels = '1' THEN '0' ELSE CASE WHEN t0.Levels = '2' THEN '0' ELSE CASE WHEN t0.Levels = '3' THEN '0' ELSE CASE WHEN t0.Levels = '4' THEN '0' ELSE CASE WHEN t0.Levels = '5' THEN t0.acctCode ELSE '0' END END END END END as Level5 ,T0.AcctCode ,T0.AcctName ,T0.GroupMask ,T0.GrpLine ,T0.Postable ,T0.ActCurr INTO #OACTStructur FROM oact t0 Left Outer JOIN Oact t1 ON t0.fathernum = t1.acctCode left Outer JOIN Oact t2 ON t1.fathernum = t2.acctCode left Outer JOIN Oact t3 ON t2.fathernum = t3.acctCode left Outer JOIN Oact t4 ON t3.fathernum = t4.acctCode WHERE T0.GroupMask in ('1','2','3') /*Bookings actual year*/ SELECT T0.Account ,ISNULL(T0.Debit,0) As Debit ,ISNULL(T0.Credit,0) As Credit ,0 As DebitPY ,0 As CreditPY ,ISNULL(T0.FCDebit,0) As FCDebit ,ISNULL(T0.FCCredit,0) AS FCCredit INTO #TempJDT1 FROM JDT1 T0 INNER JOIN OJDT T2 ON T0.TransID = T2.TransID WHERE T0.refdate <= @ToDate AND NOT (T0.refdate = DATEADD(Year,1,DATEADD(day,-1,@FinancYear)) AND T0.TransType = -3) AND CASE WHEN @IgnoreAdj = 'Y' THEN T2.AdjTran ELSE 'N' END = 'N'

CORESUITE ACCOUNTING

43

/*Vouchers actual year*/ UNION ALL SELECT T0.Account ,ISNULL(T0.Debit,0) As Debit ,ISNULL(T0.Credit,0) As Credit ,0 As DebitPY ,0 As CreditPY ,ISNULL(T0.FCDebit,0) As FCDebit ,ISNULL(T0.FCCredit,0) AS FCCredit FROM BTF1 T0 INNER JOIN OBTF T1 ON T0.TransId = T1.TransId AND T0.BatchNum=T1.BatchNum WHERE T0.refdate <= @ToDate AND NOT (T0.refdate = DATEADD(Year,1,DATEADD(day,-1,@FinancYear)) AND T0.TransType = -3) AND CASE WHEN @IgnoreAdj = 'Y' THEN T0.AdjTran ELSE 'N' END = 'N' AND T1.BtfStatus = 'O' AND @AddVoucher = 'Y' /*Bookings previous year */ UNION ALL SELECT T0.Account ,0 ,0 ,ISNULL(T0.Debit,0) ,ISNULL(T0.Credit,0) ,0 ,0 FROM JDT1 T0 INNER JOIN OJDT T2 ON T0.TransID = T2.TransID WHERE T0.refdate < @FinancYear AND NOT (T0.refdate = DATEADD(day,-1,@FinancYear) AND T0.TransType = -3) AND CASE WHEN @IgnoreAdj = 'Y' THEN T2.AdjTran ELSE 'N' END = 'N'

/*Vouchers previous year*/ UNION ALL SELECT T0.Account ,0 ,0 ,ISNULL(T0.Debit,0) ,ISNULL(T0.Credit,0) ,0 ,0 FROM BTF1 T0 INNER JOIN OBTF T1 ON T0.TransId = T1.TransId AND T0.BatchNum=T1.BatchNum WHERE T0.refdate < @FinancYear AND NOT (T0.refdate = DATEADD(day,-1,@FinancYear) AND T0.TransType = -3) AND CASE WHEN @IgnoreAdj = 'Y' THEN T0.AdjTran ELSE 'N' END = 'N' AND T1.BtfStatus = 'O' AND @AddVoucher = 'Y' /*Sum data*/ SELECT T0.Account ,SUM(T0.Debit-T0.Credit) As Saldo_DC ,SUM(T0.DebitPY - T0.CreditPY) As SaldoPY_DC ,SUM(T0.FCDebit-T0.FCCredit) AS SaldoFC_DC INTO #ResultJDT1 FROM #TempJDT1 T0

CORESUITE ACCOUNTING

44

GROUP BY T0.Account /* Structure with all active accounts */ SELECT T0.AcctCode As Account INTO #ActiveAcct FROM #OACTStructur T0 INNER JOIN #ResultJDT1 T1 ON T1.Account = T0.AcctCode WHERE T1.Saldo_DC <> 0 OR T1.SaldoPY_DC <> 0 UNION ALL SELECT T0.Level1 FROM #OACTStructur T0 INNER JOIN #ResultJDT1 T1 ON T1.Account = T0.AcctCode WHERE T1.Saldo_DC <> 0 OR T1.SaldoPY_DC <> 0 UNION ALL SELECT T0.Level2 FROM #OACTStructur T0 INNER JOIN #ResultJDT1 T1 ON T1.Account = T0.AcctCode WHERE T1.Saldo_DC <> 0 OR T1.SaldoPY_DC <> 0 UNION ALL SELECT T0.Level3 FROM #OACTStructur T0 INNER JOIN #ResultJDT1 T1 ON T1.Account = T0.AcctCode WHERE T1.Saldo_DC <> 0 OR T1.SaldoPY_DC <> 0 UNION ALL SELECT T0.Level4 FROM #OACTStructur T0 INNER JOIN #ResultJDT1 T1 ON T1.Account = T0.AcctCode WHERE T1.Saldo_DC <> 0 OR T1.SaldoPY_DC <> 0 UNION ALL SELECT T0.AcctCode FROM #OACTStructur T0 INNER JOIN #ResultJDT1 T1 ON T1.Account = T0.AcctCode WHERE T1.Saldo_DC <> 0 OR T1.SaldoPY_DC <> 0

SELECT T0.AcctCode ,T0.AcctName ,T1.Saldo_DC ,T1.SaldoPY_DC ,T1.SaldoFC_DC ,T0.Level1 ,T0.Level2 ,T0.Level3 ,T0.Level4 ,T0.Level5 ,T0.Levels ,T0.Postable ,T0.ActCurr

CORESUITE ACCOUNTING

45

,T0.GroupMask ,@MainCurr as MainCurr ,DATEADD(day,-1,@FinancYear) as PrevYear FROM #OACTStructur T0 LEFT OUTER JOIN #ResultJDT1 T1 ON T1.Account = T0.AcctCode WHERE @ShowZAcc = 'Y' OR T0.AcctCode IN (SELECT DISTINCT Account FROM #ActiveAcct) ORDER BY T0.GroupMask, T0.GrpLine

CORESUITE ACCOUNTING

46

2.6.2.3.2.2 ProfitAndLoss
/* @@Timeout=[1200] */ SET LANGUAGE German DECLARE @MainCurr AS VARCHAR(3) SET @MainCurr = (SELECT T2.MainCurncy FROM OADM T2) DECLARE @ToDate AS DATETIME SET @ToDate = '[%ToDate]' DECLARE @FromDate AS DATETIME SET @FromDate = '[%FromDate]' DECLARE @IgnoreAdj AS VARCHAR(1) SET @IgnoreAdj='[%IgnoreAdj]' DECLARE @ShowZAcc as Varchar(1) set @ShowZAcc = '[%ShowZAcc]' DECLARE @AddVoucher as Varchar(1) SET @AddVoucher = '[%AddVoucher]' DECLARE @FinancYear AS DATETIME SET @FinancYear = (SELECT T0.FinancYear FROM OACP T0 INNER JOIN OFPR T1 ON T0.PeriodCat = T1.Category WHERE T1.F_RefDate <= @ToDate AND T1.T_RefDate >=@ToDate)

SELECT

T0.Levels , CASE WHEN t0.Levels = '1' THEN t0.AcctCode ELSE CASE WHEN t0.Levels = '2' THEN t1. AcctCode ELSE CASE WHEN t0.Levels = '3' THEN t2.AcctCode ELSE CASE WHEN t0.Levels = '4' THEN t3.acctCode ELSE CASE WHEN t0.Levels = '5' THEN t4.acctCode ELSE '0' END END END END END as Level1 , CASE WHEN t0.Levels = '1' THEN '0' ELSE CASE WHEN t0.Levels = '2' THEN t0.Acctcode ELSE CASE WHEN t0.Levels = '3' THEN t0.Fathernum ELSE CASE WHEN t0.Levels = '4' THEN t1. Fathernum ELSE CASE WHEN t0.Levels = '5' THEN t2.Fathernum ElSE '0' END END END END END as Level2 , CASE WHEN t0.Levels = '1' THEN '0' ELSE CASE WHEN t0.Levels = '2' THEN '0' ELSE CASE WHEN t0.Levels = '3' THEN t0.AcctCode ELSE CASE WHEN t0.Levels = '4' THEN t0.fathernum ELSE CASE WHEN t0.Levels = '5' THEN t1.Fathernum ELSE '0' END END END END END as Level3 , CASE WHEN t0.Levels = '1' THEN '0' ELSE CASE WHEN t0.Levels = '2' THEN '0' ELSE CASE WHEN t0.Levels = '3' THEN '0' ELSE CASE WHEN t0.Levels = '4' THEN t0.acctCode ELSE CASE WHEN t0.Levels = '5' THEN t0.fathernum ELSE '0' END END END END END as Level4 , CASE WHEN t0.Levels = '1' THEN '0' ELSE CASE WHEN t0.Levels = '2' THEN '0' ELSE CASE WHEN t0.Levels = '3' THEN '0' ELSE CASE WHEN t0.Levels = '4' THEN '0' ELSE CASE WHEN t0.Levels = '5' THEN t0.acctCode ELSE '0' END END END END END as Level5 ,T0.AcctCode ,T0.AcctName ,T0.GroupMask ,T0.GrpLine ,T0.Postable ,T0.ActCurr INTO #OACTStructur FROM oact t0 Left Outer JOIN Oact t1 ON t0.fathernum = t1.acctCode left Outer JOIN Oact t2 ON t1.fathernum = t2.acctCode left Outer JOIN Oact t3 ON t2.fathernum = t3.acctCode left Outer JOIN Oact t4 ON t3.fathernum = t4.acctCode WHERE T0.GroupMask Not in ('1','2','3') /*Booking actual Year*/ SELECT T0.Account ,ISNULL(T0.Debit,0) As Debit ,ISNULL(T0.Credit,0) As Credit ,ISNULL(T0.FCDebit,0) As FCDebit ,ISNULL(T0.FCCredit,0) AS FCCredit ,ISNULL(T0.SYSDeb,0) As SYSDeb ,ISNULL(T0.SYSCred,0) AS SYSCred ,0 As Debit_PY ,0 As Credit_PY ,0 As FCDebit_PY ,0 As FCCredit_PY ,0 As SYSDeb_PY ,0 As SYSCred_PY INTO #TempJDT1 FROM JDT1 T0

CORESUITE ACCOUNTING

47

INNER JOIN OJDT T2 ON T0.TransID = T2.TransID where (T0.refdate >= @FromDate AND T0.refdate <= @ToDate) AND NOT T0.TransType = -3 AND CASE WHEN @IgnoreAdj = 'Y' THEN T2.AdjTran ELSE 'N' END = 'N' /*Vouchers actual year*/ UNION ALL SELECT T0.Account ,ISNULL(T0.Debit,0) As Debit ,ISNULL(T0.Credit,0) As Credit ,ISNULL(T0.FCDebit,0) As FCDebit ,ISNULL(T0.FCCredit,0) AS FCCredit ,ISNULL(T0.SYSDeb,0) As SYSDeb ,ISNULL(T0.SYSCred,0) AS SYSCred ,0 As Debit_PY ,0 As Credit_PY ,0 As FCDebit_PY ,0 As FCCredit_PY ,0 As SYSDeb_PY ,0 As SYSCred_PY FROM BTF1 T0 INNER JOIN OBTF T1 ON T0.TransId = T1.TransId AND T0.BatchNum=T1.BatchNum WHERE (T0.refdate >= @FromDate AND T0.refdate <= @ToDate) AND NOT T0.TransType = -3 AND CASE WHEN @IgnoreAdj = 'Y' THEN T0.AdjTran ELSE 'N' END = 'N' AND T1.BtfStatus = 'O' AND @AddVoucher = 'Y'

/*Bookings Previous Year */ UNION ALL SELECT T0.Account ,0 As Debit ,0 As Credit ,0 As FCDebit ,0 AS FCCredit ,0 As SYSDeb ,0 AS SYSCred ,ISNULL(T0.Debit,0) As Debit_PY ,ISNULL(T0.Credit,0) As Credit_PY ,ISNULL(T0.FCDebit,0) As FCDebit_PY ,ISNULL(T0.FCCredit,0) As FCCredit_PY ,ISNULL(T0.SYSDeb,0) As SYSDeb_PY ,ISNULL(T0.SYSCred,0) As SYSCred_PY FROM JDT1 T0 INNER JOIN OJDT T2 ON T0.TransID = T2.TransID WHERE (T0.refdate >= DATEADD(year,-1,@FromDate) AND T0.refdate <=DATEADD(year,-1,@ToDate)) AND NOT T0.TransType = -3 AND CASE WHEN @IgnoreAdj = 'Y' THEN T2.AdjTran ELSE 'N' END = 'N'

/*Vouchers previous year*/ Union all SELECT T0.Account ,0 As Debit ,0 As Credit ,0 As FCDebit

CORESUITE ACCOUNTING

48

,0 AS FCCredit ,0 As SYSDeb ,0 AS SYSCred ,ISNULL(T0.Debit,0) As Debit_PY ,ISNULL(T0.Credit,0) As Credit_PY ,ISNULL(T0.FCDebit,0) As FCDebit_PY ,ISNULL(T0.FCCredit,0) As FCCredit_PY ,ISNULL(T0.SYSDeb,0) As SYSDeb_PY ,ISNULL(T0.SYSCred,0) As SYSCred_PY FROM BTF1 T0 INNER JOIN OBTF T1 ON T0.TransId = T1.TransId AND T0.BatchNum=T1.BatchNum WHERE (T0.refdate >= DATEADD(year,-1,@FromDate) AND T0.refdate <= DATEADD(year,-1,@ToDate)) AND NOT T0.TransType = -3 AND CASE WHEN @IgnoreAdj = 'Y' THEN T0.AdjTran ELSE 'N' END = 'N' AND T1.BtfStatus = 'O' AND @AddVoucher = 'Y' /*Sum data*/ SELECT T0.Account ,SUM(T0.Debit) As Debit ,SUM(T0.Credit) As Credit ,SUM(T0.FCDebit) As FCDebit ,SUM(T0.FCCredit) As FCCredit ,SUM(T0.SYSDeb) As SYSDeb ,SUM(T0.SYSCred) As SYSCred ,SUM(T0.Debit_PY) As Debit_PY ,SUM(T0.Credit_PY) As Credit_PY ,SUM(T0.FCDebit_PY) As FCDebit_PY ,SUM(T0.FCCredit_PY) As FCCredit_PY ,SUM(T0.SYSDeb_PY) As SYSDeb_PY ,SUM(T0.SYSCred_PY) As SYSCred_PY /* SUM for Filtering */ ,SUM(T0.Debit-T0.Credit) As Saldo_DC ,SUM(T0.Debit_PY - T0.Credit_PY) As SaldoPY_DC ,SUM(T0.FCDebit-T0.FCCredit) AS SaldoFC_DC INTO #ResultJDT1 FROM #TempJDT1 T0 GROUP BY T0.Account /* Structure with all active accounts */ SELECT T0.AcctCode As Account INTO #ActiveAcct FROM #OACTStructur T0 INNER JOIN #ResultJDT1 T1 ON T1.Account = T0.AcctCode WHERE T1.Saldo_DC <> 0 OR T1.SaldoPY_DC <> 0 UNION ALL SELECT T0.Level1 FROM #OACTStructur T0 INNER JOIN #ResultJDT1 T1 ON T1.Account = T0.AcctCode WHERE T1.Saldo_DC <> 0 OR T1.SaldoPY_DC <> 0 UNION ALL SELECT T0.Level2 FROM #OACTStructur T0 INNER JOIN #ResultJDT1 T1 ON T1.Account = T0.AcctCode WHERE T1.Saldo_DC <> 0 OR T1.SaldoPY_DC <> 0

CORESUITE ACCOUNTING

49

UNION ALL SELECT T0.Level3 FROM #OACTStructur T0 INNER JOIN #ResultJDT1 T1 ON T1.Account = T0.AcctCode WHERE T1.Saldo_DC <> 0 OR T1.SaldoPY_DC <> 0 UNION ALL SELECT T0.Level4 FROM #OACTStructur T0 INNER JOIN #ResultJDT1 T1 ON T1.Account = T0.AcctCode WHERE T1.Saldo_DC <> 0 OR T1.SaldoPY_DC <> 0 UNION ALL SELECT T0.AcctCode FROM #OACTStructur T0 INNER JOIN #ResultJDT1 T1 ON T1.Account = T0.AcctCode WHERE T1.Saldo_DC <> 0 OR T1.SaldoPY_DC <> 0

SELECT T0.AcctCode ,T0.AcctName ,T1.Debit ,T1.Credit ,T1.FCDebit ,T1.FCCredit ,T1.SYSDeb ,T1.SYSCred ,T1.Debit_PY ,T1.Credit_PY ,T1.FCDebit_PY ,T1.FCCredit_PY ,T1.SYSDeb_PY ,T1.SYSCred_PY ,T0.Level1 ,T0.Level2 ,T0.Level3 ,T0.Level4 ,T0.Level5 ,T0.Levels ,T0.Postable ,T0.ActCurr ,T0.GroupMask ,@MainCurr as MainCurr ,DATEADD(year,-1,@FromDate) as PrevYearStart ,DATEADD(year,-1,@ToDate) as PrevYearEND FROM #OACTStructur T0 LEFT OUTER JOIN #ResultJDT1 T1 ON T1.Account = T0.AcctCode WHERE @ShowZAcc = 'Y' OR T0.AcctCode IN (SELECT DISTINCT Account FROM #ActiveAcct) ORDER BY T0.GroupMask, T0.GrpLine DROP DROP DROP DROP TABLE TABLE TABLE TABLE #OACTStructur #TempJDT1 #ResultJDT1 #ActiveAcct

CORESUITE ACCOUNTING

50

2.6.2.3.2.3 AccountHeader
/* @@Timeout=[1200] */ DECLARE @FromAcct AS NVARCHAR(15) SET @FromAcct = '[%FromAcct]' DECLARE @ToAcct AS NVARCHAR(15) SET @ToAcct = '[%ToAcct]' IF @ToAcct='' SET @ToAcct=@FromAcct

SELECT T0.Account ,sum(CASE WHEN [%AcctMOrder] < '[%FromDate]' and T0.Account >= @FromAcct and T0. Account <= @ToAcct THEN T0.Debit-T0.Credit ELSE 0 END) as VorSaldo ,sum(CASE WHEN [%AcctMOrder] < '[%FromDate]' and T0.Account >= @FromAcct and T0. Account <= @ToAcct THEN T0.FCDebit-T0.FCCredit ELSE 0 END) as VorSalFC ,T1.ActCurr

FROM JDT1 T0 INNER JOIN OACT T1 ON T0.Account = T1.AcctCode WHERE T0.Account >= @FromAcct and T0.Account <= @ToAcct GROUP BY T0.Account,T1.ActCurr order by T0.Account

CORESUITE ACCOUNTING

51

2.6.2.3.2.4 AccountDetails
DECLARE @FromAcct AS NVARCHAR(15) SET @FromAcct = '[%FromAcct]' DECLARE @ToAcct AS NVARCHAR(15) SET @ToAcct = '[%ToAcct]' IF @ToAcct='' SET @ToAcct = @FromAcct SELECT T0.TransID ,T0.ContraAct ,CASE WHEN T5.AcctName IS NOT NULL THEN T5.AcctName ELSE CASE WHEN T3.CardName IS NULL THEN T4.CardName ELSE T3.CardName END END as ContraName ,CASE WHEN T3.CardName IS NULL THEN T4.CardCode ELSE T3.CardCode END as CardCode ,CASE WHEN T3.CardName IS NULL THEN T4.CardName ELSE T3.CardName END as CardName ,CASE WHEN T3.CardName IS NULL THEN T4.City ELSE T3.City END as City ,CASE WHEN T3.CardName IS NULL THEN T4.County ELSE T3.Country END as Contry ,T2.Number ,T0.RefDate ,T0.DueDate ,T0.TaxDate ,T0.ShortName ,T0.Account ,T3.DebPayAcct ,T2.Memo ,T1.AcctName ,T0.Debit ,T0.Credit ,(T0.Debit-T0.Credit) as Saldo ,T0.VatAmount ,T0.FCDebit-T0.FCCredit as FC ,T0.FCDebit ,T0.FCCredit ,T0.FCCurrency ,T0.Project ,T0.ProfitCode ,T0.SYSCred ,T0.SYSDeb ,T1.ActCurr ,T2.Ref1 ,T2.Ref2 ,T0.LineMemo

FROM JDT1 T0 LEFT OUTER JOIN Left OUTER JOIN Left OUTER JOIN INNER JOIN OACT INNER JOIN OJDT WHERE

OCRD T3 ON T0.ShortName=T3.CardCode OCRD T4 ON T0.ContraAct = T4.CardCode OACT T5 ON T0.ContraAct = T5.AcctCode T1 ON T0.Account=T1.AcctCode T2 ON T0.TransId = T2.TransId

T0.Account >= @FromAcct and T0.Account <= @ToAcct and [%AcctMOrder] BETWEEN '[%FromDate]' AND '[%ToDate]' ORDER BY [%AcctMOrder]

CORESUITE ACCOUNTING

52

2.6.2.3.2.5 Movements
/* Account Movements 2nd Generation by Philipp Emmenegger, coresystems ag */ DECLARE @IgnoreAdj AS VARCHAR(1) SET @IgnoreAdj='[%IgnoreAdj]' DECLARE @FromDate AS DATETIME SET @FromDate = '[%FromDate]' DECLARE @ToDate AS DATETIME SET @ToDate = '[%ToDate]' /* Filter Accounts */ SELECT T0.AcctCode INTO #AccountFilter FROM OACT T0 WHERE T0.AcctCode = '[%Account]'

/* Calculation of Account brought forward */ SELECT T0.Account ,SUM(T0.Debit) AS BF_Debit ,SUM(T0.Credit) AS BF_Credit ,SUM(T0.SYSDeb) AS BF_SYSDeb ,SUM(T0.SYSCred) AS BF_SYSCred ,SUM(T0.FCDebit) AS BF_FCDebit ,SUM(T0.FCCredit) AS BF_FCCredit INTO #BroughtForward FROM JDT1 T0 INNER JOIN #AccountFilter T1 ON T0.Account=T1.AcctCode INNER JOIN OJDT T2 ON T0.TransID=T2.TransID WHERE T0.Refdate < @FromDate AND CASE WHEN @IgnoreAdj = 'Y' THEN T2.AdjTran ELSE 'N' END = 'N' GROUP BY T0.Account

/* Internal Matching */ SELECT T0.TransID ,T0.Line_ID ,SUM(T2.Total) as Total ,MAX(T2.ReconNum) AS ReconNum INTO #InternalMatching FROM JDT1 T0 LEFT OUTER JOIN ITR1 T1 ON T0.TransId = T1.TransId AND LEFT OUTER JOIN OITR T2 ON T1.ReconNum = T2.ReconNum WHERE T0.Refdate>=@FromDate AND T0.Refdate<=@ToDate GROUP BY T0.TransID, T0.Line_ID

T0.Line_ID = T1.TransRowId

/* Complete posting List */ SELECT T0.TransID ,T0.Line_ID ,T6.Total ,T6.ReconNum ,T0.Account ,T2.AcctName ,T0.Debit ,T0.Credit ,T0.SYSDeb ,T0.SYSCred ,T0.FCDebit ,T0.FCCredit

CORESUITE ACCOUNTING

53

,T0.Refdate ,T0.DueDate ,T0.ShortName ,T0.ContraAct ,T0.LineMemo ,T1.Memo ,T1.Ref1 ,T1.Ref2 ,T0.Ref3Line ,T0.TransCode ,T0.Project ,T0.ProfitCode ,T0.VatGroup ,T0.VatRate ,T3.BF_Debit ,T3.BF_Credit ,T3.BF_SYSDeb ,T3.BF_SYSCred ,T3.BF_FCDebit ,T3.BF_FCCredit ,T4.CardName ,T4.City ,T7.CardName as CardName2 ,T7.City as City2 ,T1.Number ,T2.ActCurr ,T0.FCCurrency FROM JDT1 T0 INNER JOIN OJDT T1 ON T0.TransID=T1.TransID INNER JOIN OACT T2 ON T0.Account = T2.AcctCode LEFT OUTER JOIN #BroughtForward T3 ON T0.Account = T3.Account LEFT OUTER JOIN OCRD T4 ON T0.ShortName = T4.CardCode INNER JOIN #AccountFilter T5 ON T0.Account = T5.AcctCode LEFT OUTER JOIN #InternalMatching T6 ON T0.TransID = T6.TransID AND T0.Line_ID = T6.Line_ID LEFT OUTER JOIN OCRD T7 ON T0.ContraAct = T7.CardCode WHERE T0.Refdate>=@FromDate AND T0.Refdate<=@ToDate AND CASE WHEN @IgnoreAdj = 'Y' THEN T1.AdjTran ELSE 'N' END = 'N' ORDER BY [%AcctMOrder] /* DROP Temporary TABLES */

DROP TABLE #BroughtForward DROP TABLE #AccountFilter DROP TABLE #InternalMatching

CORESUITE ACCOUNTING

54

2.6.2.3.2.6 AP_Invoice_Description
SELECT T0.VisOrder, T0.LineTotal,T1.TransID, T0.AcctCode, T0.Dscription, T0.ItemCode, T0. OcrCode,T0.Project FROM PCH1 T0 INNER JOIN OPCH T1 ON T0.DocEntry = T1.DocEntry WHERE T1.DocDate >='[%FromDate]' AND T1.DocDate <='[%ToDate]' ORDER BY T0.VisOrder

CORESUITE ACCOUNTING

55

2.6.2.3.2.7 JournalEntry
/* Internal Matching */ SELECT T0.TransID ,T0.Line_ID ,SUM(T2.Total) as Total ,MAX(T2.ReconNum) AS ReconNum INTO #InternalMatching FROM JDT1 T0 LEFT OUTER JOIN ITR1 T1 ON T0.TransId = T1.TransId AND LEFT OUTER JOIN OITR T2 ON T1.ReconNum = T2.ReconNum WHERE T0.TransID ='[%TransID]' GROUP BY T0.TransID, T0.Line_ID

T0.Line_ID = T1.TransRowId

SELECT T2.SeriesName, T0.Number, T0.Refdate, T0.DueDate, T0.TaxDate, T0.Ref1, T0.Ref2, T3. TrnscodDsc, T0.Project, T4.PrjName, T0.Memo ,T1.Account, T5.AcctName, T1.ShortName, T1.Debit, T1.Credit, T1.FCDebit, T1.FCCredit, T1. SYSDeb, T1.SYSCred, T1.VatGroup, T1.BaseSum, T1.TransID, T1.ContraAct, T1.LineMemo, T0. TransType, T1.ProfitCode, T1.VatRate, T1.Line_ID ,T1.FCCurrency ,T6.ReconNum, T7.CardName FROM OJDT T0 INNER JOIN JDT1 T1 ON T0.TransID=T1.TransID INNER JOIN NNM1 T2 ON T0.Series = T2.Series LEFT OUTER JOIN OTRC T3 ON T0.Transcode = T3.TrnsCode LEFT OUTER JOIN OPRJ T4 ON T0.Project = T4.PrjCode INNER JOIN OACT T5 ON T1.Account = T5.AcctCode LEFT OUTER JOIN #InternalMatching T6 ON T1.TransID = T6.TransID AND T1.Line_ID = T6.Line_ID LEFT OUTER JOIN OCRD T7 ON T1.ShortName = T7.CardCode WHERE T0.TransID='[%TransID]' DROP TABLE #InternalMatching

CORESUITE ACCOUNTING

56

2.6.2.3.2.8 GPHeader
DECLARE @FromCardCode AS NVARCHAR(15) SET @FromCardCode = '[%FromCardCode]' DECLARE @ToCardCode AS NVARCHAR(15) SET @ToCardCode = '[%ToCardCode]' IF @ToCardCode='' SET @ToCardCode=@FromCardCode

SELECT T0.ShortName ,sum(CASE WHEN [%AcctMOrder] < '[%FromDate]' and T0.ShortName >= @FromCardCode and T0.ShortName <= @ToCardCode THEN T0.Debit-T0.Credit ELSE 0 END) as VorSaldo ,sum(CASE WHEN [%AcctMOrder] < '[%FromDate]' and T0.ShortName >= @FromCardCode and T0.ShortName <= @ToCardCode THEN T0.FCDebit-T0.FCCredit ELSE 0 END) as VorSalFC ,T2.ActCurr ,T1.CardName ,T1.Currency as BPCurrency FROM JDT1 T0 INNER JOIN OCRD T1 ON T0.ShortName = T1.CardCode INNER JOIN OACT T2 ON T0.Account = T2.AcctCode WHERE T0.ShortName BETWEEN @FromCardCode AND @ToCardCode GROUP BY T0.ShortName,T2.ActCurr,T1.CardName, T1.Currency ORDER BY T0.ShortName

CORESUITE ACCOUNTING

57

2.6.2.3.2.9 GPDetails
SELECT T0.TransID ,T0.ContraAct ,T3.AcctName as ContraName ,T2.Number ,T0.RefDate ,T0.DueDate ,T0.TaxDate ,T0.ShortName ,T0.Account ,T2.Memo ,T1.AcctName ,T0.Debit ,T0.Credit ,T0.VatAmount ,T0.FCDebit ,T0.FCCredit ,T0.FCCurrency ,T0.Project ,T0.ProfitCode ,T0.SYSCred ,T0.SYSDeb ,T1.ActCurr ,T2.Ref1 ,T2.Ref2 ,T0.LineMemo ,T4.CardName ,T4.Currency as BPCurrency

FROM JDT1 T0 INNER JOIN INNER JOIN LEFT OUTER INNER JOIN WHERE OACT OJDT JOIN OCRD T1 ON T0.Account=T1.AcctCode T2 ON T0.TransId = T2.TransId OACT T3 ON T0.ContraAct = T3.AcctCode T4 ON T0.ShortName = T4.CardCode

T0.ShortName IN ('[%CardCode]') OR '' = '[%CardCode]' and [%AcctMOrder] >='[%FromDate]' and [%AcctMOrder] <='[%ToDate]' ORDER BY [%AcctMOrder]

CORESUITE ACCOUNTING

58

2.6.2.3.2.10 Budget
/* * Budget Data and Actual Finance Data (Datasource) * coresystems ag, 01.05.2008 */ /* @@Timeout=[1200] */ SET DATEFORMAT dmy DECLARE DECLARE DECLARE DECLARE DECLARE DECLARE DECLARE @MainCurr AS VARCHAR(3) SET @MainCurr = (SELECT T2.MainCurncy FROM OADM T2) @IgnoreAdj AS VARCHAR(1) SET @IgnoreAdj= '[%IgnoreAdj]' @AddVoucher AS Varchar(1) SET @AddVoucher= '[%AddVoucher]' @PrcCode AS VARCHAR(8) SET @PrcCode = '[%PrcCode]' @OcrCode AS VARCHAR(8) SET @OcrCode = '[%OcrCode]' @PrjCode As VARCHAR(8) SET @PrjCode = '[%PrjCode]' @BudgId As INT SET @BudgId ='[%BudgId]'

IF @BudgId = '' BEGIN SET @BudgId = -1 END DECLARE @FromDate As DateTime SET @FromDate = '[%FromDate]' DECLARE @ToDate As DateTime SET @ToDate = '[%ToDate]' -- Get the Acutal Finance Year DECLARE @FinancYear AS DATETIME SET @FinancYear = (SELECT T0.FinancYear FROM OACP T0 INNER JOIN OFPR T1 ON T0.PeriodCat = T1.Category WHERE T1.F_RefDate <= @ToDate AND T1.T_RefDate >= @ToDate)

/* * Parameter notice * -GroupMask direct in Query impl. * -BudgetID direct in Query impl. */ /* * ChartOfAccout Structur */

SELECT CASE WHEN t0.Levels = '1' THEN t0.AcctCode ELSE CASE WHEN t0.Levels = '2' THEN t1.AcctCode ELSE CASE WHEN t0.Levels = '3' THEN t2.AcctCode ELSE CASE WHEN t0.Levels = '4' THEN t3.acctCode ELSE CASE WHEN t0.Levels = '5' THEN t4.acctCode ELSE '0' END END END END END as Level1 , CASE WHEN t0.Levels = '1' THEN '0' ELSE CASE WHEN t0.Levels = '2' THEN t0.Acctcode ELSE CASE WHEN t0.Levels = '3' THEN t0.Fathernum ELSE CASE WHEN t0.Levels = '4' THEN t1.Fathernum ELSE CASE WHEN t0.Levels = '5' THEN t2.Fathernum ElSE '0' END END END END END as Level2 , CASE WHEN t0.Levels = '1' THEN '0' ELSE CASE WHEN t0.Levels = '2' THEN '0' ELSE CASE WHEN t0.Levels = '3' THEN t0.AcctCode ELSE CASE WHEN t0.Levels = '4' THEN t0. fathernum ELSE CASE WHEN t0.Levels = '5' THEN t1.Fathernum ELSE '0' END END END END END as Level3 , CASE WHEN t0.Levels = '1' THEN '0' ELSE CASE WHEN t0.Levels = '2' THEN '0' ELSE CASE WHEN t0.Levels = '3' THEN '0' ELSE CASE WHEN t0.Levels = '4' THEN t0.acctCode ELSE CASE WHEN t0.Levels = '5' THEN t0.fathernum ELSE '0' END END END END END as Level4

CORESUITE ACCOUNTING

59

, CASE WHEN t0.Levels = '1' THEN '0' ELSE CASE WHEN t0.Levels = '2' THEN '0' ELSE CASE WHEN t0.Levels = '3' THEN '0' ELSE CASE WHEN t0.Levels = '4' THEN '0' ELSE CASE WHEN t0.Levels = '5' THEN t0.acctCode ELSE '0' END END END END END as Level5 ,T0.AcctCode ,T0.AcctName ,T0.CurrTotal ,T0.Finanse ,T0.Budget ,T0.Frozen ,T0.Postable ,T0.Levels ,T0.ExportCode ,T0.GrpLine ,T0.GroupMask ,CAST(CAST(T0.GroupMask AS VARCHAR) + CAST(T0.GrpLine AS VARCHAR) AS INT) As SortBy ,T0.ActType ,T0.OverCode ,T0.ActCurr ,T0.FormatCode INTO #OACTStructur FROM OACT T0 LEFT OUTER JOIN OACT T1 ON T0.FatherNum LEFT OUTER JOIN OACT T2 ON T1.FatherNum LEFT OUTER JOIN OACT T3 ON T2.FatherNum LEFT OUTER JOIN OACT T4 ON T3.FatherNum WHERE T0.GroupMask IN ([%GroupMask])

= = = =

T1.AcctCode T2.AcctCode T3.AcctCode T4.AcctCode

/* * * */

J O U R N A L - V A L U E Actual Value (JDT1) With Journal Vouchers (BTF1)

SELECT -- Create Date (01.MM.YYYY) CAST( '01.' + CAST(MONTH(T0.RefDate) AS VARCHAR) + '.' + CAST(YEAR(T0. RefDate) AS VARCHAR) AS DATETIME)As RefDate ,(SELECT Y0.FinancYear FROM OACP Y0 INNER JOIN OFPR Y1 ON Y0.PeriodCat = Y1.Category WHERE Y1.F_RefDate <= T0.RefDate AND Y1.T_RefDate >= RefDate) AS FinancYear ,T0.Account As Account ,'JE' As Typ ,ISNULL(T2.PrcCode,'') As PrcCode ,ISNULL(T2.OcrCode,'') As OcrCode ,ISNULL(T0.Project,'') As PrjCode ,CASE WHEN T2.OcrTotal IS NULL OR T2.OcrTotal = 0 THEN T0.Credit ELSE ISNULL(T0.Credit * (T2.PrcAmount/T2. OcrTotal),0) END As Credit ,CASE WHEN T2.OcrTotal IS NULL OR T2.OcrTotal = 0 T0.Debit ELSE THEN

T0.

CORESUITE ACCOUNTING

60

ISNULL(T0.Debit * (T2.PrcAmount/T2. OcrTotal),0) END As Debit

INTO #TEMPJDT1 FROM JDT1 T0 INNER JOIN OACT T1 ON T0.Account = T1.AcctCode LEFT OUTER JOIN OCR1 T2 ON T2.OcrCode = T0.ProfitCode LEFT OUTER JOIN OPRC T3 ON T3.PrcCode = T2.PrcCode INNER JOIN #OACTStructur T4 ON T0.Account = T4.AcctCode WHERE T0.RefDate >= DATEADD(YEAR,-1,@FinancYear) AND T0.RefDate <= DATEADD(DAY,-1,DATEADD(YEAR,1,@FinancYear)) AND CASE WHEN @IgnoreAdj = 'Y' THEN T0.AdjTran ELSE 'N' END = 'N' AND NOT T0.TransType = -3 AND CASE WHEN @OcrCode = '' THEN ISNULL(T2.OcrCode,'') ELSE @OcrCode END = ISNULL(T2. OcrCode,'') AND CASE WHEN @PrcCode = '' THEN ISNULL(T2.PrcCode,'') ELSE @PrcCode END = ISNULL(T2. PrcCode,'') AND CASE WHEN @PrjCode = '' THEN ISNULL(T0.Project,'') ELSE @PrjCode END = ISNULL(T0. Project,'')

/* * Add Vouchers */

UNION ALL SELECT CAST( '01.' + CAST(MONTH(T0.RefDate) AS VARCHAR) + '.' + CAST(YEAR(T0.RefDate) AS VARCHAR) AS datetime)As RefDate ,(SELECT Y0.FinancYear FROM OACP Y0 INNER JOIN OFPR Y1 ON Y0.PeriodCat = Y1.Category WHERE Y1.F_RefDate <= T0.RefDate AND Y1.T_RefDate >= RefDate) AS FinancYear ,T0.Account As Account ,'JEV' As Typ ,ISNULL(T2.PrcCode,'') As PrcCode ,ISNULL(T2.OcrCode,'') As OcrCode ,ISNULL(T0.Project,'') As PrjCode ,CASE WHEN T2.OcrTotal IS NULL OR T2.OcrTotal = 0 THEN T0.Credit ELSE ISNULL(T0.Credit * (T2.PrcAmount/T2. OcrTotal),0) END As Credit ,CASE WHEN T2.OcrTotal IS NULL OR T2.OcrTotal = 0 THEN T0.Debit ELSE ISNULL(T0.Debit * (T2.PrcAmount/T2. OcrTotal),0) END As Debit

T0.

FROM BTF1 T0 INNER JOIN OBTF T10 ON T0.TransId = T10.TransId AND T0.BatchNum=T10.BatchNum

CORESUITE ACCOUNTING

61

INNER JOIN LEFT OUTER LEFT OUTER INNER JOIN

OACT T1 ON T0.Account = T1.AcctCode JOIN OCR1 T2 ON T2.OcrCode = T0.ProfitCode JOIN OPRC T3 ON T3.PrcCode = T2.PrcCode #OACTStructur T4 ON T0.Account = T4.AcctCode

WHERE T0.RefDate >= DATEADD(YEAR,-1,@FinancYear) AND T0.RefDate <= DATEADD(DAY,-1,DATEADD(YEAR,1,@FinancYear)) AND CASE WHEN @IgnoreAdj = 'Y' THEN T0.AdjTran ELSE 'N' END = 'N' AND NOT T0.TransType = -3 AND CASE WHEN @OcrCode = '' THEN ISNULL(T2.OcrCode,'') ELSE @OcrCode END = ISNULL(T2. OcrCode,'') AND CASE WHEN @PrcCode = '' THEN ISNULL(T2.PrcCode,'') ELSE @PrcCode END = ISNULL(T2. PrcCode,'') AND CASE WHEN @PrjCode = '' THEN ISNULL(T0.Project,'') ELSE @PrjCode END = ISNULL(T0. Project,'') AND T10.BtfStatus = 'O' AND @AddVoucher = 'Y'

/* * * */

B U D G E T - V A L U E Actual Budget Value (BGT1)

SELECT /* Calc the Budget Month by LineID from BGT1 and FinancYear from OBGT*/ DATEADD("Month",T0.Line_ID,T1.FinancYear) As RefDate ,T1.FinancYear AS FinancYear ,T0.AcctCode As Account ,ISNULL(T4.PrcCode,'') As PrcCode ,ISNULL(T4.OcrCode,'') As OcrCode ,CASE WHEN T4.OcrTotal IS NULL OR T4.OcrTotal = 0 THEN T0.CredLTotal ELSE ISNULL(T0.CredLTotal * (T4.PrcAmount/T4. OcrTotal),0) END As Credit ,CASE WHEN T4.OcrTotal IS NULL OR T4.OcrTotal = 0 THEN T0.DebLTotal ELSE ISNULL(T0.DebLTotal * (T4.PrcAmount/T4. OcrTotal),0) END As Debit ,T0.BudgId As BudgId INTO #TEMPBGT1 FROM BGT1 T0 LEFT OUTER JOIN OBGT T1 ON T0.BudgId = T1.AbsId LEFT OUTER JOIN OBGS T2 ON T0.Instance = T2.AbsId LEFT OUTER JOIN OCR1 T4 ON T4.OcrCode = T2.U_COR_OcrCode INNER JOIN #OACTStructur T5 ON T0.AcctCode = T5.AcctCode WHERE DATEADD("Month",T0.Line_ID,T1.FinancYear) >= DATEADD(YEAR,-1,@FinancYear) AND DATEADD("Month",T0.Line_ID,T1.FinancYear) <= DATEADD(MONTH,12,@FinancYear) AND CASE WHEN @BudgId=-1 THEN T0.Instance ELSE @BudgId END = T0.Instance AND CASE WHEN @OcrCode = '' THEN ISNULL(T4.OcrCode,'') ELSE @OcrCode END = ISNULL(T4. OcrCode,'') AND CASE WHEN @PrcCode = '' THEN ISNULL(T4.PrcCode,'') ELSE @PrcCode END = ISNULL(T4. PrcCode,'')

CORESUITE ACCOUNTING

62

/* M E R G E - V A L U E * Select Value per Month, FinanceYear, PreFinanceYear and Actual Month */ -- Actual Periode SELECT T0.RefDate ,T0.FinancYear ,T0.Account ,'JE_AP' AS Typ ,ISNULL(T0.PrcCode,'') As PrcCode ,ISNULL(T0.OcrCode,'') As OcrCode ,T0.PrjCode ,SUM(T0.Credit) AS Credit ,SUM(T0.Debit) AS Debit ,MAX(0) AS CreditBudget ,MAX(0) AS DebitBudget -- Full ,MAX(0) ,MAX(0) ,MAX(0) ,MAX(0) -- Preview Year ,MAX(0) ,MAX(0) ,MAX(0) ,MAX(0) -- Actual Month ,MAX(0) ,MAX(0) ,MAX(0) ,MAX(0) As As As As CreditActualMonth DebitActualMonth CreditActualMonthBudget DebitActualMonthBudget As As As As CreditPrevFinancYear DebitPrevFinancYear CreditPrevFinancYearBudget DebitPrevFinancYearBudget Finance Year As CreditFinancYear As DebitFinancYear As CreditFinancYearBudget As DebitFinancYearBudget

-- Budget ID ,MAX(0) As BudgId INTO #TEMPRES FROM #TEMPJDT1 T0 WHERE T0.RefDate >= @FromDate AND T0.RefDate <= @ToDate

GROUP BY T0.RefDate ,T0.FinancYear ,T0.Account ,T0.PrcCode ,T0.OcrCode ,T0.PrjCode

CORESUITE ACCOUNTING

63

UNION ALL -- Full Actual Finance Year (JDT1) with Vouchers SELECT T0.RefDate ,T0.FinancYear ,T0.Account ,'JE_FY' AS Typ ,ISNULL(T0.PrcCode,'') As PrcCode ,ISNULL(T0.OcrCode,'') As OcrCode ,T0.PrjCode ,MAX(0) AS Credit ,MAX(0) AS Debit ,MAX(0) AS CreditBudget ,MAX(0) AS DebitBudget -- Full Finance Year ,SUM(T0.Credit) As CreditFinancYear ,SUM(T0.Debit) As DebitFinancYear ,MAX(0) As CreditFinancYearBudget ,MAX(0) As DebitFinancYearBudget -- Preview Year ,MAX(0) ,MAX(0) ,MAX(0) ,MAX(0) -- Actual Month ,MAX(0) ,MAX(0) ,MAX(0) ,MAX(0) As As As As CreditActualMonth DebitActualMonth CreditActualMonthBudget DebitActualMonthBudget As As As As CreditPrevFinancYear DebitPrevFinancYear CreditPrevFinancYearBudget DebitPrevFinancYearBudget

-- Budget ID ,MAX(0) As BudgId FROM #TEMPJDT1 T0 WHERE T0.RefDate >= @FinancYear AND T0.RefDate <= DATEADD(DAY,-1,DATEADD(YEAR,1,@FinancYear)) GROUP BY T0.RefDate ,T0.FinancYear ,T0.Account ,T0.PrcCode ,T0.OcrCode ,T0.PrjCode

-- Full Previous Finance Year (JDT1) with Vouchers UNION ALL SELECT T0.RefDate ,T0.FinancYear ,T0.Account ,'JE_PY' AS Typ ,ISNULL(T0.PrcCode,'') As PrcCode ,ISNULL(T0.OcrCode,'') As OcrCode ,T0.PrjCode ,MAX(0) AS Credit ,MAX(0) AS Debit ,MAX(0) AS CreditBudget ,MAX(0) AS DebitBudget

CORESUITE ACCOUNTING

64

-- Full ,MAX(0) ,MAX(0) ,MAX(0) ,MAX(0) -- Preview Year

Finance Year As CreditFinancYear As DebitFinancYear As CreditFinancYearBudget As DebitFinancYearBudget

,SUM(T0.Credit) As CreditPrevFinancYear ,SUM(T0.Debit) As DebitPrevFinancYear ,MAX(0) As CreditPrevFinancYearBudget ,MAX(0) As DebitPrevFinancYearBudget -- Actual Month ,MAX(0) ,MAX(0) ,MAX(0) ,MAX(0) As As As As CreditActualMonth DebitActualMonth CreditActualMonthBudget DebitActualMonthBudget

-- Budget ID ,MAX(0) As BudgId FROM #TEMPJDT1 T0 WHERE T0.RefDate >= DATEADD(YEAR,-1,@FinancYear) AND T0.RefDate < @FinancYear GROUP BY T0.RefDate ,T0.FinancYear ,T0.Account ,T0.PrcCode ,T0.OcrCode ,T0.PrjCode

-- Actual Month (JDT1) with Vouchers -> @ToDate UNION ALL SELECT T0.RefDate ,T0.FinancYear ,T0.Account ,'JE_AM' AS Typ ,ISNULL(T0.PrcCode,'') As PrcCode ,ISNULL(T0.OcrCode,'') As OcrCode ,T0.PrjCode ,MAX(0) AS Credit ,MAX(0) AS Debit ,MAX(0) AS CreditBudget ,MAX(0) AS DebitBudget -- Full Finance Year ,MAX(0) As CreditFinancYear ,MAX(0) As DebitFinancYear ,MAX(0) As CreditFinancYearBudget ,MAX(0) As DebitFinancYearBudget -- Preview Year ,MAX(0) ,MAX(0) ,MAX(0) ,MAX(0) -- Actual Month As As As As CreditPrevFinancYear DebitPrevFinancYear CreditPrevFinancYearBudget DebitPrevFinancYearBudget

CORESUITE ACCOUNTING

65

,SUM(T0.Credit) As CreditActualMonth ,SUM(T0.Debit) As DebitActualMonth ,MAX(0) As CreditActualMonthBudget ,MAX(0) As DebitActualMonthBudget -- Budget ID ,MAX(0) As BudgId FROM #TEMPJDT1 T0 WHERE YEAR(T0.RefDate) = YEAR(@ToDate) AND MONTH(T0.RefDate) = MONTH(@ToDate) GROUP BY T0.RefDate ,T0.FinancYear ,T0.Account ,T0.PrcCode ,T0.OcrCode ,T0.PrjCode

/* *** Add Budget Values *** */ -- Budget Actual Periode UNION ALL SELECT T0.RefDate ,T0.FinancYear ,T0.Account ,'BG_AP' AS Typ ,ISNULL(T0.PrcCode,'') As PrcCode ,ISNULL(T0.OcrCode,'') As OcrCode ,'' As PrjCode ,MAX(0) AS Credit ,MAX(0) AS Debit ,SUM(T0.Credit) AS CreditBudget ,SUM(T0.Debit) AS DebitBudget -- Full ,MAX(0) ,MAX(0) ,MAX(0) ,MAX(0) -- Preview Year ,MAX(0) ,MAX(0) ,MAX(0) ,MAX(0) -- Actual Month ,MAX(0) ,MAX(0) ,MAX(0) ,MAX(0) As As As As CreditActualMonth DebitActualMonth CreditActualMonthBudget DebitActualMonthBudget As As As As CreditPrevFinancYear DebitPrevFinancYear CreditPrevFinancYearBudget DebitPrevFinancYearBudget Finance Year As CreditFinancYear As DebitFinancYear As CreditFinancYearBudget As DebitFinancYearBudget

-- Budget ID ,T0.BudgId As BudgId FROM #TEMPBGT1 T0

CORESUITE ACCOUNTING

66

WHERE T0.RefDate >= @FromDate AND T0.RefDate <= @ToDate

GROUP BY T0.RefDate ,T0.FinancYear ,T0.Account ,T0.PrcCode ,T0.OcrCode ,T0.BudgId

-- Budget Actual Finance Year UNION ALL SELECT T0.RefDate ,T0.FinancYear ,T0.Account ,'BG_FY' AS Typ ,ISNULL(T0.PrcCode,'') As PrcCode ,ISNULL(T0.OcrCode,'') As OcrCode ,'' As PrjCode ,MAX(0) AS Credit ,MAX(0) AS Debit ,MAX(0) AS CreditBudget ,MAX(0) AS DebitBudget -- Full Finance Year ,MAX(0) As CreditFinancYear ,MAX(0) As DebitFinancYear ,SUM(T0.Credit) As CreditFinancYearBudget ,SUM(T0.Debit) As DebitFinancYearBudget -- Preview Year ,MAX(0) ,MAX(0) ,MAX(0) ,MAX(0) -- Actual Month ,MAX(0) ,MAX(0) ,MAX(0) ,MAX(0) As As As As CreditActualMonth DebitActualMonth CreditActualMonthBudget DebitActualMonthBudget As As As As CreditPrevFinancYear DebitPrevFinancYear CreditPrevFinancYearBudget DebitPrevFinancYearBudget

-- Budget ID ,T0.BudgId As BudgId FROM #TEMPBGT1 T0 WHERE T0.RefDate >= @FinancYear AND T0.RefDate <= DATEADD(DAY,-1,DATEADD(YEAR,1,@FinancYear))

GROUP BY T0.RefDate ,T0.FinancYear ,T0.Account ,T0.PrcCode ,T0.OcrCode ,T0.BudgId

CORESUITE ACCOUNTING

67

-- Budget Previous Finance Year UNION ALL SELECT T0.RefDate ,T0.FinancYear ,T0.Account ,'BG_FY' AS Typ ,ISNULL(T0.PrcCode,'') As PrcCode ,ISNULL(T0.OcrCode,'') As OcrCode ,'' As PrjCode ,MAX(0) AS Credit ,MAX(0) AS Debit ,MAX(0) AS CreditBudget ,MAX(0) AS DebitBudget -- Full ,MAX(0) ,MAX(0) ,MAX(0) ,MAX(0) -- Preview Year ,MAX(0) As CreditPrevFinancYear ,MAX(0) As DebitPrevFinancYear ,SUM(T0.Credit) As CreditPrevFinancYearBudget ,SUM(T0.Debit) As DebitPrevFinancYearBudget -- Actual Month ,MAX(0) ,MAX(0) ,MAX(0) ,MAX(0) As As As As CreditActualMonth DebitActualMonth CreditActualMonthBudget DebitActualMonthBudget Finance Year As CreditFinancYear As DebitFinancYear As CreditFinancYearBudget As DebitFinancYearBudget

-- Budget ID ,T0.BudgId As BudgId FROM #TEMPBGT1 T0 WHERE T0.RefDate >= DATEADD(YEAR,-1,@FinancYear) AND T0.RefDate < @FinancYear

GROUP BY T0.RefDate ,T0.FinancYear ,T0.Account ,T0.PrcCode ,T0.OcrCode ,T0.BudgId

-- Budget Actual Month UNION ALL SELECT T0.RefDate ,T0.FinancYear ,T0.Account ,'BG_FY' AS Typ ,ISNULL(T0.PrcCode,'') As PrcCode ,ISNULL(T0.OcrCode,'') As OcrCode ,'' As PrjCode ,MAX(0) AS Credit

CORESUITE ACCOUNTING

68

,MAX(0) AS Debit ,MAX(0) AS CreditBudget ,MAX(0) AS DebitBudget -- Full ,MAX(0) ,MAX(0) ,MAX(0) ,MAX(0) -- Preview Year ,MAX(0) ,MAX(0) ,MAX(0) ,MAX(0) -- Actual Month ,MAX(0) As CreditActualMonth ,MAX(0) As DebitActualMonth ,SUM(T0.Credit) As CreditActualMonthBudget ,SUM(T0.Debit) As DebitActualMonthBudget As As As As CreditPrevFinancYear DebitPrevFinancYear CreditPrevFinancYearBudget DebitPrevFinancYearBudget Finance Year As CreditFinancYear As DebitFinancYear As CreditFinancYearBudget As DebitFinancYearBudget

-- Budget ID ,T0.BudgId As BudgId FROM #TEMPBGT1 T0 WHERE YEAR(T0.RefDate) = YEAR(@ToDate) AND MONTH(T0.RefDate) = MONTH(@ToDate) GROUP BY T0.RefDate ,T0.FinancYear ,T0.Account ,T0.PrcCode ,T0.OcrCode ,T0.BudgId

/* * SUM all Results * */ SELECT T0.RefDate ,T0.FinancYear ,T0.Account ,ISNULL(T0.PrcCode,'') As PrcCode ,ISNULL(T0.OcrCode,'') As OcrCode ,ISNULL(T0.PrjCode,'') As PrjCode ,SUM(T0.Credit) AS Credit ,SUM(T0.Debit) AS Debit ,SUM(T0.CreditBudget) AS CreditBudget ,SUM(T0.DebitBudget) AS DebitBudget -- Full Finance Year ,SUM(T0.CreditFinancYear) As CreditFinancYear ,SUM(T0.DebitFinancYear) As DebitFinancYear ,SUM(T0.CreditFinancYearBudget) As CreditFinancYearBudget ,SUM(T0.DebitFinancYearBudget) As DebitFinancYearBudget -- Preview Year ,SUM(T0.CreditPrevFinancYear) As CreditPrevFinancYear ,SUM(T0.DebitPrevFinancYear) As DebitPrevFinancYear

CORESUITE ACCOUNTING

69

,SUM(T0.CreditPrevFinancYearBudget) As CreditPrevFinancYearBudget ,SUM(T0.DebitPrevFinancYearBudget) As DebitPrevFinancYearBudget -- Actual Month ,SUM(T0.CreditActualMonth) As CreditActualMonth ,SUM(T0.DebitActualMonth) As DebitActualMonth ,SUM(T0.CreditActualMonthBudget) As CreditActualMonthBudget ,SUM(T0.DebitActualMonthBudget) As DebitActualMonthBudget -- Account Details ,MAX(T1.AcctCode) AS AcctCode ,MAX(T1.AcctName) As AcctName ,MAX(T1.Level1) As Level1 ,MAX(ISNULL(T2.AcctName,'')) As Level1Name ,MAX(T1.Level2) As Level2 ,MAX(ISNULL(T3.AcctName,'')) As Level2Name ,MAX(T1.Level3) As Level3 ,MAX(ISNULL(T4.AcctName,'')) As Level3Name ,MAX(T1.Level4) As Level4 ,MAX(ISNULL(T5.AcctName,'')) As Level4Name ,MAX(ISNULL(T6.OcrName,'')) As OcrName ,MAX(ISNULL(T7.OcrName,'')) As PrcName ,MAX(ISNULL(T8.PrjName,'')) As PrjName

,MAX(T1.CurrTotal) As CurrTotal ,MAX(T1.Finanse) As Finanse ,MAX(T1.Budget) As Budget ,MAX(T1.Frozen) As Frozen ,MAX(T1.Postable) As Postable ,MAX(T1.Levels) As Levels ,MAX(T1.ExportCode) As ExportCode ,MAX(T1.GrpLine) As GrpLine ,MAX(T1.GroupMask) As GroupMask ,MAX(T1.SortBy) As SortBy ,MAX(T1.ActType) As ActType ,MAX(T1.OverCode) As OverCode ,MAX(T1.ActCurr) As ActCurr ,MAX(T1.FormatCode) As FormatCode

INTO #Budgetfinal FROM #TEMPRES T0 INNER JOIN #OACTStructur T1 ON T0.Account = T1.AcctCode LEFT OUTER JOIN OACT T2 ON T1.Level1 = T2.AcctCode LEFT OUTER JOIN OACT T3 ON T1.Level2 = T3.AcctCode LEFT OUTER JOIN OACT T4 ON T1.Level3 = T4.AcctCode LEFT OUTER JOIN OACT T5 ON T1.Level4 = T5.AcctCode LEFT OUTER JOIN OOCR T6 ON T0.OcrCode = T6.OcrCode LEFT OUTER JOIN OOCR T7 ON T0.PrcCode = T7.OcrCode LEFT OUTER JOIN OPRJ T8 ON T0.PrjCode = T8.PrjCode GROUP BY T0.RefDate ,T0.FinancYear ,T0.Account ,T0.PrcCode

CORESUITE ACCOUNTING

70

,T0.OcrCode ,T0.PrjCode SELECT T0.* FROM #Budgetfinal T0 ORDER BY T0.SortBy

CORESUITE ACCOUNTING

71

2.6.3

CORESUITE layouts, reports & dashboards (in EN only)

This section includes all information about standard layouts and reports delivered with the coresuite country package. The overview displays a list of all available reports and layouts. These are grouped in categories and detailed information about the settings and data displayed is documented for each report. Usually, for each report, you can define how what levels you want to display, if you want to include graphs, etc.:

CORESUITE ACCOUNTING

72

2.6.3.1

Overview

The following reports and layouts are included in the coresuite country package:

Name

Description

Usage and Menu entries

Outgoing Payment - LD (BAN1000)

Letter to a Business Partner which includes relevant information about Outgoing Payments.
*CD, LD

Bank ing > Outgoing Payments > Outgoing Payments (426) > Preview

Activity BP Letter - LD (BUP00100)

Letter to a Business Partner which includes relevant information about a specific Activity.
*CD, LD

Business Partners > Activity (651) > Preview

CRM Report - LD (BUP00301)

This Report displays all relevant information for a certain Customer (Contact Details, Addresses, Sales Volume, Opportunities, Activities, Service Calls, Financial Information,...). Displayed are all open documents and documents created after the Reference Date entered by the user.
*CD, LD

Business Partners > Business Partner Master Data (134) > Preview

CRM Report - CR (BUP20000)

This Report displays all relevant information for a certain Customer (Contact Details, Addresses, Sales Volume, Opportunities, Activities, Service Calls, Financial Information,...). Displayed are all open documents and documents created after the Reference Date entered by the user.
*CR

Business Partners > Business Partner Master Data (134) > Preview

Document ESR - LD (DOC00006) Item Label - LD (DOC00007)

Printing for the ESR document attached to an AR Invoice.


*CD, LD **CH

Sales - A/R > A/R Invoice (133) > Preview

Sample for label printing of all items included in a Marketing document


*CD, LD

To display the form adjust the relevant Printdefinitions By default not assigned to any Printdefinition. This layout can be used to attach to any Marketing document. Sales - A/R > Sales Quotation (149) Sales Order (139) Delivery (140)

Document DIN - LD (DOC00008)

Standard Marketing Document Layout to send to customers and vendors. Can be used for the following marketing

CORESUITE ACCOUNTING

73

Name

Description

Usage and Menu entries

document in SAP Business Return (180) One: A/R Down Payment Request (65308) Sales A/R Down Payment Invoice (65300) Sales Quotation A/R Invoice (133) Sales Order A/R Credit Memo (179) Delivery A/R Reserve Invoice (60091) Return > Preview A/R Down Payment Request A/R Down Payment Invoice or Purchasing - A/P > A/R Invoice Purchase Quotation (540000988) A/R Credit Note Purchase Order (142) A/R Reserve Invoice Goods Receipt PO (143) Purchasing Goods Return (182) Purchase Quotation (only A/P Down Payment Request (56309) available in SAP Version A/P Down Payment Invoice (56301) 8.81 and higher) A/P Invoice (141) Purchase Order A/P Credit Memo (181) Goods Receipt PO A/P Reserve Invoice (60092) Goods Return > Preview A/P Down Payment Request A/P Down Payment Invoice A/P Invoice A/P Credit Note A/P Reserve Invoice
*CD, LD

Document DIN FR - LD (DOC00009)

Available for coresuite france and benelux (Belgium) only. Standard Marketing Document Layout to send to customers and vendors. Can be used for the following marketing document in SAP Business One: Sales Sales Quotation Sales Order Delivery Return A/R Down Payment Request A/R Down Payment Invoice A/R Invoice A/R Credit Note A/R Reserve Invoice Purchasing Purchase Order Goods Receipt PO Goods Return A/P Down Payment Request A/P Down Payment Invoice A/P Invoice A/P Credit Note A/P Reserve Invoice

Sales - A/R > Sales Quotation (149) Sales Order (139) Delivery (140) Return (180) A/R Down Payment Request (65308) A/R Down Payment Invoice (65300) A/R Invoice (133) A/R Credit Memo (179) A/R Reserve Invoice (60091) > Preview or Purchasing - A/P > Purchase Order (142) Goods Receipt PO (143) Goods Return (182) A/P Down Payment Request (56309) A/P Down Payment Invoice (56301) A/P Invoice (141) A/P Credit Memo (181) A/P Reserve Invoice (60092) > Preview

CORESUITE ACCOUNTING

74

Name

Description *CD, LD **FR

Usage and Menu entries

Document DIN FR Blue - LD (DOC00010)

Available for coresuite france and benelux (Belgium) only. Standard Marketing Document Layout to send to customers and vendors. Can be used for the following marketing document in SAP Business One: Sales Sales Quotation Sales Order Delivery Return A/R Down Payment Request A/R Down Payment Invoice A/R Invoice A/R Credit Note A/R Reserve Invoice Purchasing Purchase Order Goods Receipt PO Goods Return A/P Down Payment Request A/P Down Payment Invoice A/P Invoice A/P Credit Note A/P Reserve Invoice
*CD, LD **FR

Sales - A/R > Sales Quotation (149) Sales Order (139) Delivery (140) Return (180) A/R Down Payment Request (65308) A/R Down Payment Invoice (65300) A/R Invoice (133) A/R Credit Memo (179) A/R Reserve Invoice (60091) > Preview or Purchasing - A/P > Purchase Order (142) Goods Receipt PO (143) Goods Return (182) A/P Down Payment Request (56309) A/P Down Payment Invoice (56301) A/P Invoice (141) A/P Credit Memo (181) A/P Reserve Invoice (60092) > Preview

Document DIN FR Green - LD (DOC00011)

Available for coresuite france Sales - A/R > and benelux (Belgium) only. Sales Quotation (149) Standard Marketing Document Sales Order (139) Layout to send to customers Delivery (140) and vendors. Can be used for Return (180) the following marketing A/R Down Payment Request (65308) document in SAP Business A/R Down Payment Invoice (65300) One: A/R Invoice (133) Sales A/R Credit Memo (179) Sales Quotation A/R Reserve Invoice (60091) Sales Order > Preview Delivery Return or Purchasing - A/P > A/R Down Payment Request Purchase Order (142) A/R Down Payment Invoice Goods Receipt PO (143) A/R Invoice Goods Return (182) A/R Credit Note A/P Down Payment Request (56309) A/R Reserve Invoice A/P Down Payment Invoice (56301) Purchasing A/P Invoice (141) Purchase Order A/P Credit Memo (181) Goods Receipt PO A/P Reserve Invoice (60092)

CORESUITE ACCOUNTING

75

Name

Description

Usage and Menu entries

Goods Return > Preview A/P Down Payment Request A/P Down Payment Invoice A/P Invoice A/P Credit Note A/P Reserve Invoice
*CD, LD **FR

Dunning Letter - LD (DOC02500) Dunning Letter - Select Grid (DOC02501)

Layout to print Dunning Letters from the SAP Dunning Wizard


*CD, LD

To display the form from the Preview of the Form"DunningLetterSelect" See below To display the form from the Preview of the Form "Dunning Printing" (60014) Sales - A/R > Dunning Wizard > Load a Saved Wizard > Preview from Step 5 of 6 in the Wizard To display the form adjust the relevant Printdefinitions By default not assigned to any Printdefinition. This layout can be used to attach to any Marketing document. For coresuite america this layout can be accessed by the preview from any marketing document form: Sales - A/R > Sales Quotation (149) Sales Order (139) Delivery (140) Return (180) A/R Down Payment Request (65308) A/R Down Payment Invoice (65300) A/R Invoice (133) A/R Credit Memo (179) A/R Reserve Invoice (60091) Purchasing - A/P > Purchase Order (142) Goods Receipt PO (143) Goods Return (182) A/P Down Payment Request (56309) A/P Down Payment Invoice (56301) A/P Invoice (141) A/P Credit Note (181) A/P Reserve Invoice (60092) Human Resources > Human Resources Reports > Employee List (EMP50000)

A new Form "DunningLetterSelect" which displays a Select Grid with the list of Customers from the loaded Dunning Run.
*CD, LD

Document DIN - CR (DOC40000)

This Layout was created with Crystal Reports. Standard Marketing Document Layout to send to customers and vendors. Can be used for the following marketing document in SAP Business One: Sales Sales Quotation Sales Order Delivery Return A/R Down Payment Request A/R Down Payment Invoice A/R Invoice A/R Credit Note A/R Reserve Invoice Purchasing Purchase Order Goods Receipt PO Goods Return A/P Down Payment Request A/P Down Payment Invoice A/P Invoice A/P Credit Note A/P Reserve Invoice
*CD, CR

Employee List - LD (EMP50000)

Listing of the names, phone numbers and email addresses of all Employees of the selected department(s).
*CD, LD

CORESUITE ACCOUNTING

76

Name

Description

Usage and Menu entries

Chart of Accounts - LD (FIN05401)

Listing of all accounts and the existing profit centers and distribution rules.
*LD

coresuite Reports > Financials > Lists > Chart of Accounts (FIN05401)

Balance Sheet - LD (FIN05402) Listing of assets and liabilities of the company's annual balance sheet date.
*LD

coresuite Reports > Financials > Balance Sheet > Balance Sheet (FIN05402)

Balance Sheet Template - LD (FIN05403)

Balance sheet according to an external Template (SAP partners can create their own templates).
*LD

coresuite Reports > Financials > Balance Sheet > Balance Sheet Template (FIN05403)

Profit and Loss (FIN05404)

Profit and loss statement according to the chart of accounts (only standard subtotals and standard groupings) with possibility to analyze for each profit center, project or distribution rule.
*LD

coresuite Reports > Financials > Profit and Loss > Profit and Loss (FIN05404)

Profit and Loss by Template (FIN05405)

Profit and loss statement according to an external individual template (including the possibility to analyze for each profit center, project or distribution rule)
*LD

coresuite Reports > Financials > Profit and Loss > Profit and Loss by Template (FIN05405)

Customer (A/R) Ageing Report - LD (FIN05406)

List of outstanding sales for coresuite Reports > Financials > business partners (customers / Customer (A/R) > Customer (A/R) Aging debtors). Debtor list, which are Report (FIN05406) handled by the accounts receivable manager.
*LD

Profit and Loss vs. Budget (FIN05408)

Comparison of current income including the budget (broken down according to the chart of accounts).
*LD

coresuite Reports > Financials > Budget > Profit and Loss vs. Budget (FIN05408) or in coresuite france and benelux (Belgium) only: Financials > Budget Setup > Etats > Profit and Loss vs. Budget (FIN05408) coresuite Reports > Financials > Customer (A/R) > Customer (A/R) Account Journals (FIN05410) coresuite Reports > Financials > Balance Sheet > Opening Balance (FIN05413)

Customer (A/R) Account Journals - LD (FIN05410)

Account journal per business partner (all postings per business partner)
*LD

Opening Balance - LD (FIN05413)

Opening Balance (in general the 1st day of each fiscal year, without ongoing bookings for

CORESUITE ACCOUNTING

77

Name

Description

Usage and Menu entries

the new fiscal year)


*LD

VAT by Code (FIN05414)

List of taxation and VAT base amounts for each tax code defined in the corresponding period.
*LD

coresuite Reports > Financials > Tax Report > VAT by Code (FIN05414)

VAT by Account (FIN05415)

List of taxation and VAT base amounts for each account and tax code defined in the corresponding period. Ideal to derive the VAT-liable turnover.
*LD

coresuite Reports > Financials > Tax Report > VAT by Account (FIN05415)

Reconciliation - LD (FIN05416)

Sub report used by default To display the form from the Report from other reports to display Select Linked Arrow in -> Journal Entry details about the reconciliation. (FIN05419)
*LD

Customer (A/R) Ageing Statement - LD (FIN05418)

Statement of the open positions of the Business Partners. The report can be sent to a client or business partner via e-mail. It can be used as an alternative to the dunning letter.
*LD

coresuite Reports > Financials > Customer (A/R) > Customer (A/R) Ageing Statement (FIN05418)

Journal Entry - LD (FIN05419)

Collection and presentation of all journal entries (possibly filtered by marketing document type).
*LD

To display the form from the Main Menu coresuite Reports > Financials > Journal/ Statement > Journal Entry (FIN05419) or To display the form from the Preview of the Form "Journal Entry" (392) Financials > Journal Entry

Journal Transactions (FIN05420)

Overview of a selection of accounts with Balance brought forward and movements in a specific time period. Includes a graphical representation of the movements.
*LD

To display the form from the Main Menu coresuite Reports > Financials > Journal/ Statement > Journal Transactions (FIN05420) or To display the form from the Preview of the Form "XX" (809) Financials -> XX coresuite Berichte > Finanzwesen > Analytics > BWA Vorjahresvergleich (FIN05424)

Business Assessment YoY LD (FIN05424)

Available for coresuite germany, switzerland and austria only.


*LD **DE

CORESUITE ACCOUNTING

78

Name

Description

Usage and Menu entries

Profit and Loss by Profitcenter - KPI (FIN05430)

Profit and loss statement divided into profit centers (including KPI measures). Correct Account Mapping is required to view this report.
*LD

coresuite Reports > Financials > Profit and Loss > Profit and Loss by Profit Center (FIN05430)

Budget Report (FIN05433)

Budget according to chart of accounts (only Budget numbers). Grouped according to chart of accounts.
*LD

coresuite Reports > Financials > Budget > Budget Report (FIN05433)

BWA Kurzfristig (FIN05436)

Available for coresuite germany, switzerland and austria only.


*LD **DE

coresuite Berichte > Finanzwesen > Analytics > BWA Kurzfristig (FIN05436)

Profit and Loss - KPI (FIN05438)

Profit and loss statement according to KPI (with financial ratios), including the option to filter by profit center, project or distribution rule. Correct Account Mapping is required to view this report.
*LD

coresuite Reports > Financials > Profit and Loss > Profit and Loss - KPI (FIN05438)

Profit and Loss vs. Budget KPI (FIN05439)

Comparison of current income including the budget (broken down into KPI measures). Correct Account Mapping is required to view this report.
*LD

coresuite Reports > Financials > Budget > Profit and Loss vs. Budget - KPI (FIN05439) or in coresuite france and benelux (Belgium) only: Financials > Budget Setup > Etats > Profit and Loss vs. Budget - KPI (FIN05439) coresuite Reports > Financials > Budget > Budget Report - KPI (FIN05440)

Budget Report - KPI (FIN05440)

Budget (only Budget numbers) according to KPI (subtotals). the ideal report for the bank or third party. Correct Account Mapping is required to view this report.
*LD

Tax Report Switzerland (FIN05450)

Available for coresuite switzerland only. Country specific Report for Tax Declaration. This report is available in the languages German, French and Italian only.
*LD **CH

coresuite Reports > Financials > Tax Report > Tax Report Switzerland (FIN05450)

CORESUITE ACCOUNTING

79

Name

Description

Usage and Menu entries

Journal des criture - LD (FIN05500)

Available for coresuite france and benelux (Belgium) only.


*LD **FR

Gestion financire > Etats comptables > Comptabilit > Extension > Journaux > Slection/Code Transaction (FIN05500) or Gestion financire > Etats comptables > Comptabilit > Extension > Journaux > Slection automatique Achat (FIN05500) Vente (FIN05500) Stock (FIN05500) Ecriture (FIN05500) Chque (FIN05500) Report nouveau (FIN05500) Effet de commerce (FIN05500) Encaissement (FIN05500) Dcaissement (FIN05500) Dpt (FIN05500) Tous (FIN05500)

Plan comptable (FIN05510)

Available for coresuite france and benelux (Belgium) only.


*LD **FR

Gestion financire > Etats comptables > Comptabilit > Extension > Grands livres > Plan comptable (FIN05510) Gestion financire > Etats comptables > Comptabilit > Extension > Cumuls > Cumuls des clients (FIN05511) or Gestion financire > Etats comptables > Comptabilit > Extension > Cumuls > Cumuls des fournisseurs (FIN05511) Gestion financire > Etats comptables > Comptabilit > Extension > Cumuls > Cumuls des comptes gnraux (FIN05513) Gestion financire > Etats comptables > Comptabilit > Extension > Journaux > Journal centralisateur (FIN05515) Gestion financire > Etats comptables > Comptabilit > Extension > Journaux > Journal centralis (FIN05516) Gestion financire > Etats comptables > Comptabilit > Extension > Journaux > Journal priodique (FIN05517) Gestion financire > Etats comptables > Comptabilit > Extension > Grands livres > Gnral > Devise interne (FIN05518) Gestion financire > Etats comptables > Comptabilit > Extension > Grands livres > Gnral > Toutes devises (FIN05519)

Cumuls des BP (FIN05511)

Available for coresuite france and benelux (Belgium) only.


*LD **FR

Cumuls des comptes gnraux Available for coresuite france (FIN05513) and benelux (Belgium) only.
*LD **FR

Journal centralisateur (FIN05515) Journal centralis (FIN05516)

Available for coresuite france and benelux (Belgium) only.


*LD **FR

Available for coresuite france and benelux (Belgium) only.


*LD **FR

Journal priodique (FIN05517)

Available for coresuite france and benelux (Belgium) only.


*LD **FR

Grand Livre devise interne (FIN05518) Grand Livre toutes devises (FIN05519)

Available for coresuite france and benelux (Belgium) only.


*LD **FR

Available for coresuite france and benelux (Belgium) only.


*LD **FR

CORESUITE ACCOUNTING

80

Name

Description

Usage and Menu entries

Grand Livre centre / gnral (FIN05520) Grand Livre gnral / centre (FIN05521) Grand Livre projet / gnral (FIN05522) Grand Livre gnral / projet (FIN05523) Grand livre des BP (FIN05525)

Available for coresuite france and benelux (Belgium) only.


*LD **FR

Gestion financire > Comptabilit analytique > Etats > Grands livres > Centre / Gnral (FIN05520) Gestion financire > Comptabilit analytique > Etats > Grands livres > Gnral / Centre (FIN05521) Gestion financire > Comptabilit analytique > Etats > Grands livres > Projet / Gnral (FIN05522) Gestion financire > Comptabilit analytique > Etats > Grands livres > Gnral / Projet (FIN05523) Gestion financire > Etats comptables > Comptabilit > Extension > Grands livres > Clients > Grand livre clients (FIN05525) or Gestion financire > Etats comptables > Comptabilit > Extension > Grand livres > Fournisseurs > Grand livre fournisseurs (FIN05525) Gestion financire > Etats comptables > Etats de synthse > Extension > Balances > Clients > Balance collectifs / clients (FIN05527) or Gestion financire > Etats comptables > Etats de synthse > Extension > Balances > Fournisseurs > Balance collectifs / fournisseurs (FIN05527) Gestion financire > Etats comptables > Etats de synthse > Extension > Balances > Clients > Balance clients / collectifs (FIN05528) or Gestion financire > Etats comptables > Etats de synthse > Extension > Balances > Fournisseurs > Balance fournisseurs / collectifs (FIN05528) Gestion financire > Etats comptables > Etats de synthse > Extension > Balances > Clients > Balance clients (FIN05530) or Gestion financire > Etats comptables > Etats de synthse > Extension > Balances > Fournisseurs > Balance fournisseurs (FIN05530)

Available for coresuite france and benelux (Belgium) only.


*LD **FR

Available for coresuite france and benelux (Belgium) only.


*LD **FR

Available for coresuite france and benelux (Belgium) only.


*LD **FR

Available for coresuite france and benelux (Belgium) only.


*LD **FR

Balance collectifs / BP (FIN05527)

Available for coresuite france and benelux (Belgium) only.


*LD **FR

Balance BP / collectifs (FIN05528)

Available for coresuite france and benelux (Belgium) only.


*LD **FR

Balance clients (FIN05530)

Available for coresuite france and benelux (Belgium) only.


*LD **FR

CORESUITE ACCOUNTING

81

Name

Description

Usage and Menu entries

Trial Balance - LD (FIN05533)

List of all account without grouping (Brought forward, Debit, Credit, Balance). This is the ideal report for the accountant who can retrieve a breakdown in Debit and Credit.
*LD

Etats coresuite > Financiers > Journal/ Dclaration > Balance gnrale (FIN05533) or in coresuite france and benelux (Belgium) only: Gestion financire > Etats comptables > Etats de synthse > Extension > Balances > Gnrale > Balance gnrale Devise interne (FIN05533) Gestion financire > Compatiblit analytique > Etats > Balances > Centre / Gnral (FIN05534) Gestion financire > Compatiblit analytique > Etats > Balances > Gnral / Centre (FIN05535) Gestion financire > Compatiblit analytique > Etats > Balances > Gnral / Projet (FIN05536) Gestion financire > Compatiblit analytique > Etats > Balances > Projet / Gnral (FIN05537) Gestion financire > Compatiblit analytique > Etats > Cumuls analytique (FIN05538) Gestion financire > Etats comptables > Comptabilit > Extension > Grands livres > Clients > Grand livre collectifs / clients (FIN05540) or Gestion financire > Etats comptables > Comptabilit > Extension > Grands livres > Fournisseurs > Grand livre collectifs / fournisseurs (FIN05540) Gestion financire > Etats comptables > Comptabilit > Extension > Grands livres > Clients > Grand livre clients / collectifs (FIN05542) or Gestion financire > Etats comptables > Comptabilit > Extension > Grands livres > Fournisseurs > Grand livre fournisseurs / collectifs(FIN05542) Gestion financire > Etats comptables > Etats de synthse > Extension > Balances > Gnrale > Balance gnrale Devise interne (FIN05543)

Balance centre / gnrale (FIN05534) Balance gnrale / centre (FIN05535) Balance gnrale / projet (FIN05536) Balance projet / gnrale (FIN05537) Cumuls analytique (FIN05538)

Available for coresuite france and benelux (Belgium) only.


*LD **FR

Available for coresuite france and benelux (Belgium) only.


*LD **FR

Available for coresuite france and benelux (Belgium) only.


*LD **FR

Available for coresuite france and benelux (Belgium) only.


*LD **FR

Available for coresuite france and benelux (Belgium) only.


*LD **FR

Grand livre collectifs / BP (FIN05540)

Available for coresuite france and benelux (Belgium) only.


*LD **FR

Grand livre BP / collectifs (FIN05542)

Available for coresuite france and benelux (Belgium) only.


*LD **FR

Balance gnrale Devise interne (FIN05543)

Available for coresuite france and benelux (Belgium) only.


*LD **FR

CORESUITE ACCOUNTING

82

Name

Description

Usage and Menu entries

Tax Report Switzerland 01.01.2010 - 30.06.2010 (FIN60002)

Available for coresuite switzerland only. Country specific Report for Tax Declaration. This report is available in the languages German, French and Italian only.
*LD **CH

coresuite Reports > Financials > Tax Report > Tax Report Switzerland 01.01.2010 - 30.06.2010 (FIN60002)

Balansrapport - LF (FIN60005)

Balance report specific for the Swedish Localization


*CR **SE *LD

Reports > Financials > Financial > Balansrapport - LF (FIN60005) To display the form from the Preview of the Form "Account Balance" (805) Financials > Chart of Accounts > Preview coresuite Reports > Financials > Lists > Chart of Accounts (FIN05401) or Administration > Add-ons > coresuite designer > Printdefinition > Preview

Account Balance - SAP Form (FIN60006) Text List - LD (GEN00001)

Overview of all text elements stored in the database, that can be used in Layouts and Reports to be automatically translated. This layout displays all existing texts in the main language. The user can search for the corresponding code.
*LD

Configuration - LD (GEN00002)

Overview of all Formtypes, Parameters, Print and Layoutdefinitions installed in the system.
*LD

Administration > Add-ons > coresuite designer > Printdefinition > Preview

Parameter Check - LD (GEN00012)

Report displays current Print and System Parameters such as Versions, File Paths, Status,...
*LD

Administration > Add-ons > coresuite designer > Printdefinition > Preview

SWA_LD_Master_Portrait (GEN01000)

Master Template in Portrait format to be used as "MasterReport" in the document properties of other reports and layouts.
*LD

To use the Master Report Open any Layout in the Designer -> Select this Report as "MasterReport" in the Document Properties

SWA_LD_Master_Landscape (GEN01001)

Master Template in Landscape format to be used as "MasterReport" in the document properties of other reports and layouts.
*LD

To use the Master Report Open any Layout in the Designer -> Select this Report as "MasterReport" in the Document Properties

Production Order - LD (PRD07001)

Layout for Production Orders


*CD, LD

Production > Production Order (65211) > Preview

CORESUITE ACCOUNTING

83

Name

Description

Usage and Menu entries

Bill of Materials - LD (PRD07004) Documents - Sales - LD (SAR06000) Sales Pivot (SAR06001)

Information about a Bill of Materials


*CD, LD

Production > Bill of Materials (672) > Preview coresuite Reports > Sales > Documents Sales - LD (SAR06000) coresuite Reports > Sales > Sales Pivot (SAR06001) coresuite Reports > Sales > Sales Revenue Dashboard (SAR0130003) Sales - A/R > Sales Reports > Back order (10065066) > Preview. This opens the Backorder window. coresuite Reports > Service > Service Dashboard (SAR0140000) Inventory > Inventory Transactions > Goods Receipt (721) Goods Issue (720) > Preview or Production > Receipt from Production (65214) Issue for Production (65213) > Preview Inventory > Inventory Transactions > Inventory Transfer (940) > Preview

Overview of all Sales Documents


*CD, LD

Pivot Table for Sales Revenue


*CD, LD

Sales Revenue Dashboard - XC Graphical Dashboard with (SAR130003) Sales information


*CD, XC

Sales Backorder Report - SAP Form (SAR130004) Service Dashboard - XC (SRV140000) Stock Document - LD (STO08001)

To print SAP Business One Sales Backorder Report. Graphical Dashboard with information about Service Calls
*CD, XC

Layout for Goods Receipt Goods Issue Receipt from Production Issue for Production with an overview of all items, locations, quantities and prices including information about serial and batch numbers.
*CD, LD

Stock Transfer - LD (STO08003)

Layout for stock transfer document with an overview of all items, locations, quantities and prices including information about serial and batch numbers.
*CD, LD

Pick List - LD (STO08004)

Layout for Pick List with an overview of selected Orders, items, locations and quantities.
*CD, LD

Inventory > Pick and Pack > Pick List (85) > Preview

LD - Created with integrated Sharpshooter Designer CR - Created with external Crystal Reports To view the report on versions prior to SAP 8.8 ensure that Crystal Reports Runtime (CR2008) is installed on the system. This is free of charge and available to download at the following website: http://wiki.sdn.sap.com/wiki/ pages/viewpage.action?pageId=56787567. XC - Created with external XCelsius To view the report on ensure that Flashplayer is installed on the system.

CORESUITE ACCOUNTING

84

CD - Also available in the coresuite designer standalone version

CORESUITE ACCOUNTING

85

2.6.3.2

Banking

2.6.3.2.1

Outgoing Payment - LD (BAN1000)

Purpose Letter to a Business Partner that includes relevant information about Outgoing Payments. To display the form from the Preview of the Form "Outgoing Payment" (426) Modules > Bank ing > Outgoing Payments > Outgoing Payments

2.6.3.3

Documents

The category Documents includes any layouts for Marketing documents to be sent to customers and vendors.

2.6.3.3.1

Document DIN - CR (DOC40000)

Description Multi-language DIN Layout created with SAP Business Objects Crystal Reports 2008. Designed for all Marketing documents under the Sales and Purchasing Modules. It applies the standard requirements of a business letter to be sent to customers and vendors. Due to the expandable data sources the layout can be adjusted with additional customized information stored in User Defined Fields. The company logo is automatically updated from the logo defined in SAP under Modules > Administration > System Initialization > Print Preferences > General If they exist, Item Serial Numbers, Batches and Pictures are printed for each relevant document row. Relevant information about base documents, payment and tax information and down payments is printed when applicable. Usage This layout is automatically assigned to be used for all marketing documents (including draft documents): Sales Module Sales Quotations Sales Orders Deliveries Returns A/R Down Payment Requests A/R Down Payment Invoices A/R Credit Notes A/R Reserved Invoices Purchasing Module Purchase Order Goods Receipt PO Goods Return A/P Down Payment Request A/P Down Payment Invoices A/R Credit Notes A/R Reserved Invoices To display the form from the Preview of any Marketing document Form Select Sales AR > Sales Quotation (149) Sales Order (139) Delivery (140) Return (180)

CORESUITE ACCOUNTING

86

AR Down Payment Request (65308) AR Down Payment Invoice (65300) AR Invoice (133) AR Credit Note (179) AR Reserve Invoice (60091) or select Purchasing AP > Purchase Order (142) Goods Receipt PO (143) Goods Return (182) AP Down Payment Request (56309) AP Down Payment Invoice (56301) AP Invoice (141) AP Credit Note (181) AP Reserve Invoice (60092) These Marketing documents can be viewed in SAP Business One as preview before and after adding the actual document. They can be exported to Word or PDF and attached to Emails with predefined Subject and To Address. Remarks In order to be able to view the Layout Crystal Reports Viewer (integrated in SAP Business One Version 8.8 and higher) is required on the system. In order to adjust the layout Crystal Reports 2008 is required. See more details on how to customize the marketing layout with Crystal Reports in the coresuite designer manual. The Marketing DIN Layout created with Crystal might be adjusted in a future version. Changes are NOT automatically applied to the layout in the system. In order to get the latest version of the layout we suggest the following steps: 1. Duplicate the existing layout to ensure any customization is saved. 2. Reinstall the layout.

CORESUITE ACCOUNTING

87

2.6.3.3.1.1 Example

CORESUITE ACCOUNTING

88

2.6.3.3.1.2 Print definitions As the report created with Crystal Reports can only be viewed when Crystal Reports Viewer is installed, we use the Standard Marketing DIN Layout in all printdefinitions for Marketing Documents. That means there are no preinstalled Printdefinitions defined to use this layout. In order to use the layout for your marketing documents change the existing printdefinitions to use this layout instead of the standard DIN layout "Document DIN (DOC00008)" as described below: Step 1 (Option 1) Open an existing document of the relevant type, e.g. A/R Invoice. Open the Print Layout Designer from the Icon in the top menu.

Step 1 (Option 2) Open the printdefinition and select the relevant formtype to adjust, e.g. 133:AR Invoice Choose Find. Step 2 Go to the tab Document and change the layout from "DOC: Document DIN (DOC00008)" to "DOC: Document DIN -RPT (DOC40000)".

Step 3 Choose Update for the changes to take effect. Repeat these steps for all relevant printdefinitions.

CORESUITE ACCOUNTING

89

2.6.3.4

Financial Reports

2.6.3.4.1

Profit and Loss

2.6.3.4.1.1 Profit and Loss - KPI (FIN05438) Purpose Profit and loss statement according to KPI (with financial ratios), including the option to filter by profit center, project or distribution rule. Access Modules > coresuite Reports > Financials > Profit and Loss > Profit and Loss - KPI (FIN05438) Fields Reference Date from Reference Date to Add Voucher

Earliest date in the query Latest date in the query The default setting is NO. In general it is possible to take parked documents (vouchers) into consideration by selecting YES. These would be selected in the query even though they have not been posted. YES - Ignore adjustments in the 13th period NO - Adjustments in the 13th are taken into account ONLY - Only adjustments of the 13th period are displayed YES - Show previous year NO - Do not show previous year AcctCodeName - Account Code: Name ExtCodeName - External Code: Name AcctCodeForeign - Acctount Code: Foreign Name ExtCodeForeign - External Code: Foreign Name When entering a profitcenter the results are filters by profitcenter (several entries are possible) When entering a project the results are filters by project (several entries are possible) When entering a distributions rule the results are filters by distributions rule (several entries are possible)

Ignore Adjustment (per 13.) Show previous year Display Account as

Optional Filter: Profitcenter Project Distribution Rules

The 1st page is a contraction of the Profit and Loss statement which fits on a DIN A4 page. These are important for the operational manager to get an overview of the company. More details are usually only required for the accountant. The required details up to the individual posting can be easily accessed by navigating through the tree on the left side of the report or by drilling down with the orange arrows in the report. Gross Profit I = Sales Profit; important comparative measure (with this profit all indirect costs are balanced) Gross Profit II = Operating Gross Profit after Salary; important comparative measure (with this profit all indirect costs are balanced)

CORESUITE ACCOUNTING

90

2.6.3.4.1.2 Profit and Loss (FIN05404) Purpose Profit and loss statement according to the chart of accounts (only standard subtotals and standard groupings) with possibility to analyse for each profit center, project or distribution rule Access Modules > coresuite Reports > Financials > Profit and Loss > Profit and Loss (FIN05404) Fields Reference Date From Reference Date To Add Voucher

Earliest date in the query Latest date in the query The default setting is NO. In general it is possible to take parked documents (vouchers) into consideration by selecting YES. These would be selected in the query even though they have not been posted. YES - Ignore adjustments in the 13th period NO - Adjustments in the 13th are taken into account ONLY - Only adjustments of the 13th period are displayed YES - Show zero balance NO - Do not show zero balance YES - Show last level NO - Do not show last level YES - Show previous year NO - Do not show previous year When entering a profitcenter the results are filters by profitcenter (several entries are possible) When entering a project the results are filters by project (several entries are possible) When entering a distributions rule the results are filters by distributions rule (several entries are possible)

Ignore Adjustment (per 13.) Show Zero Balance Show last level Show previous year Optional Filter: Profitcenter Project Distribution Rules

In comparison to the report Profit and Loss - KPI (FIN05438) there is no contraction in this report and the report can therefore quickly become very long (depending on the number of accounts in the chart of accounts). There are also less subtotals.

CORESUITE ACCOUNTING

91

2.6.3.4.1.3 Profit and Loss by Template (FIN05405) Purpose Profit and loss statement according to an external individual template (including the possibility to analyse for each profit center, project or distribution rule) Access Modules > coresuite Reports > Financials > Profit and Loss > Profit and Loss by Template (FIN05405) Fields Template Currency Reference Date From Reference Date to Add Voucher Local currency System currency Earliest date in the query Latest date in the query The default setting is NO. In general it is possible to take parked documents (vouchers) into consideration by selecting YES. These would be selected in the query even though they have not been posted. YES - Ignore adjustments in the 13th period NO - Adjustments in the 13th are taken into account ONLY - Only adjustments of the 13th period are displayed YES - Display last level or account number NO - Do not display last level or account number AcctCodeName - Account Code: Name ExtCodeName - External Code: Name AcctCodeForeign - Acctount Code: Foreign Name ExtCodeForeign - External Code: Foreign Name

Ignore Adjustment (per 13.) Show last level Display Account as

CORESUITE ACCOUNTING

92

2.6.3.4.1.4 Profit and Loss by Profitcenter - KPI (FIN05430) Purpose Profit and loss statement divided into profit centers (including KPI measures) Access Modules > coresuite Reports > Financials > Profit and Loss > Profit and Loss by Profit Center (FIN05430) Fields Reference Date From Reference Date to Add Voucher

Earliest date in the query Latest date in the query The default setting is NO. In general it is possible to take parked documents (vouchers) into consideration by selecting YES. These would be selected in the query even though they have not been posted. YES - Ignore adjustments in the 13th period NO - Adjustments in the 13th are taken into account ONLY - Only adjustments of the 13th period are displayed NO - Zero Balance is not displayed (Default) YES - Zero Balance is displayed YES - Display previous year NO - Do not display previous year When entering a profitcenter the results are filters by profitcenter (several entries are possible) When entering a project the results are filters by project (several entries are possible) When entering a distributions rule the results are filters by distributions rule (several entries are possible)

Ignore Adjustment (per 13.) Show Zero Balance Show previous year Optional Filter: Profitcenter Project Distributions Rules

CORESUITE ACCOUNTING

93

2.6.3.4.2

Balance Sheet

2.6.3.4.2.1 Balance Sheet - LD (FIN05402) Purpose Listing of assets and liabilities of the company's annual balance sheet date Access Modules > coresuite Reports > Financials > Balance Sheet > Balance Sheet - LD (FIN05402) Fields Reference Date (date calendar selection) Add Voucher (drop-down box)

Select the annual balance sheet date

Define if Journal Vouchers (Journal Entries which have not yet been posted) should be displayed in the report or not. You can choose from the following options: No (Default) - Do not display Journal Vouchers Yes - Display Journal Vouchers Define if Transactions with/without Adj. Trans (Period 13) are displayed. You can choose from the following options: No (Default) - Display Transactions with and without Adj. Trans (Period 13) selected Yes - Ignore (do not display) Transactions with Adj. Trans (Period 13) selected. Only display Transactions without Adj. Trans (Period 13) selected. Only - Only display Transactions with Adj. Trans (Period 13) selected. Do not display Transactions without Adj. Trans (Period 13) selected. Define if Accounts with Zero Balance should be displayed in the report or not. You can choose from the following options: No (Default) - Do not display Accounts with Zero Balance Yes - Display Accounts with Zero Balance Define if the Balance of the Previous Year should be displayed in the report or not. You can choose from the following options: No (Default) - Do not display the Balance of the previous year Yes - Display the Balance of the previous year Define to which Account Level the details should be displayed. You can choose from the following options: All (Default) - Display all account levels up to level 7 Number 1 to 6 - Display accounts up to the selected level Select the Currency Type in which to display the amounts. You can choose from the following options: Local Currency (Default) System Currency AcctCodeName - Account Code: Name ExtCodeName - External Code: Name AcctCodeForeign - Acctount Code: Foreign Name ExtCodeForeign - External Code: Foreign Name Define the sequence of the Accounts. You can choose from the following options: Chart of Account (Default) - Sort by SAP Business One Standard Chart of Account Account Level 2 - HGB - Sort by Account Level 2 from the Chart of Account. The selection of Account Level 2 - HGB is according to the definition of the German Law (HGB).

Ignore Adjustment (per 13.) (drop-down box)

Show Zero Balance (drop-down box) Show previous year (drop-down box) To Level (drop-down box)

Currency (drop-down box)

Display Account as

Order By (drop-down box) This parameter is available in German localization only

CORESUITE ACCOUNTING

94

2.6.3.4.2.2 Balance Sheet Template - LD (FIN05403) Purpose Balance sheet according to an external Template (SAP partners can create their own templates) Access Modules > coresuite Reports > Financials > Balance Sheet > Balance Template (FIN05403) Fields Template Reference Date from Add Voucher

Select the external balance template if exists Annual balance sheet date The default setting is NO. In general it is possible to take parked documents (vouchers) into consideration by selecting YES. These would be selected in the query even though they have not been posted. YES - Ignore adjustments in the 13th period NO - Adjustments in the 13th are taken into account NO - Zero Balance is not displayed (Default) YES - Zero Balance is displayed YES - Show previous year NO - Do not show previous year Local currency System currency AcctCodeName - Account Code: Name ExtCodeName - External Code: Name AcctCodeForeign - Acctount Code: Foreign Name ExtCodeForeign - External Code: Foreign Name

Ignore Adjustment (per 13.) Show Zero Balance Show previous year Currency Display Account as

CORESUITE ACCOUNTING

95

2.6.3.4.2.3 Opening Balance - LD (FIN05413) Purpose Opening Balance (in general the 1st day of each fiscal year, without ongoing bookings for the new fiscal year) Access Modules > coresuite Reports > Financials > Balance Sheet > Opening Balance (FIN05413) Fields Reference Date Show Zero Balance (drop-down box) Add Voucher (drop-down box)

Opening balance date Define if Accounts with Zero Balance should be displayed in the report or not. You can choose from the following options: No (Default) - Do not display Accounts with Zero Balance Yes - Display Accounts with Zero Balance Define if Journal Vouchers (Journal Entries which have not yet been posted) should be displayed in the report or not. You can choose from the following options: No (Default) - Do not display Journal Vouchers Yes - Display Journal Vouchers Define if Transactions with/without Adj. Trans (Period 13) are displayed. You can choose from the following options: No (Default) - Display Transactions with and without Adj. Trans (Period 13) selected Yes - Ignore (do not display) Transactions with Adj. Trans (Period 13) selected. Only display Transactions without Adj. Trans (Period 13) selected. Only - Only display Transactions with Adj. Trans (Period 13) selected. Do not display Transactions without Adj. Trans (Period 13) selected. Select the Currency Type in which to display the amounts. You can choose from the following options: Local Currency (Default) System Currency

Ignore Adjustment (per 13.) (drop-down box)

Currency (drop-down box)

CORESUITE ACCOUNTING

96

2.6.3.4.3

Journal / Statement

2.6.3.4.3.1 Print Journal Transactions from SAP Form coresuite country package provides two reports for printing journal transactions of G/L accounts. Journal Transactions (FIN05420) Journal Transactions - SAP Form (FIN60006) To display the form from the Preview of the Form "Account Balance" (805) Modules > Financials > Chart of Accounts Click on the yellow arrow next to the balance field.

The Chart of Accounts window appears.

CORESUITE ACCOUNTING

97

Select the report you want to print from the list. The system then displays the relevant report or the parameter criteria for the relevant report. You can also print these two reports via the menu. This procedure is described in the following section.

CORESUITE ACCOUNTING

98

2.6.3.4.3.2 Journal Transactions - SAP Form (FIN60006) Purpose Display Journal Transactions of a G/L account as displayed in the SAP Form "Account Balance". All columns of the Standard Form Settings of the SAP Business One Account Balance Form are displayed. In order to display any other columns, coresystems can create a user defined report on request.

CORESUITE ACCOUNTING

99

2.6.3.4.3.3 Journal Transactions (FIN05420) Purpose Query of account activity, including the graphical representation of the movements The report can be displayed from the Preview of the Form "Account Balance" (805) or from the menu under: Modules > coresuite Reports > Financials > Journal/ Statement > Journal Transactions (FIN05420). This opens the Parameter window. Fields Reference Date from (date calendar selection) Reference Date to (date calendar selection) Filter by (drop-down box)

Select the earliest date as filter in the datasource query. The transactions displayed depend on your selection for the filter by parameter. Select the latest date as filter in the datasource query. The transactions displayed depend on your selection for the filter by parameter. Define the transaction range by Reference Date or Due Date. You can choose from the following options: Reference Date (Default) Due Date

Account Select the account(s) you want to display in the report. It is possible to select multiple (ChooseFrom list) accounts. Only journal transactions posted on the selected account(s) will be displayed. Display Settings The parameters below define which data or objects will be displayed in the report. Add Voucher (drop-down box) Define if Journal Vouchers (Journal Entries which have not yet been posted) should be displayed in the report or not. You can choose from the following options: No (Default) - Do not display Journal Vouchers Yes - Display Journal Vouchers Define if Transactions with/without Adj. Trans (Period 13) are displayed. You can choose from the following options: No (Default) - Display Transactions with and without Adj. Trans (Period 13) selected Yes - Ignore (do not display) Transactions with Adj. Trans (Period 13) selected. Only display Transactions without Adj. Trans (Period 13) selected. Only - Only display Transactions with Adj. Trans (Period 13) selected. Do not display Transactions without Adj. Trans (Period 13) selected. Define if accounts with no movements in the selected date range should be displayed in the report or not. You can choose from the following options: Yes (Default) - Do not display accounts with no movements in the selected date range No - Display the balance brought forward of accounts with no movements in the selected date range Define if Cancelled Journal Entries including the Reversal Journal Entries should be displayed in the report or not. You can choose from the following options: No (Default) - Display all Journal Entries including the Cancelled Journal Entries and Reversal Journal Entries Yes - Do not display Cancelled Journal Entries nor Reversal Journal Entries Define if Details from Invoices should be displayed in the report or not. You can choose from the following options: Yes (Default) - Display all Invoice details No - Do not display all Invoice details Define if a new page should be started after each account or not. You can choose from the following options: Yes (Default) - Start a new page after each account.

Ignore Adjustment (per 13.) (drop-down box)

Hide accounts with no movements (drop-down box) Hide cancelled Journal Entries (drop-down box)

Details (Invoices) (drop-down box) New page after new account (drop-down box)

CORESUITE ACCOUNTING

100

No - All accounts are listed below each other Show Chart (drop-down box) Define if a bar chart of balance per month should be displayed in the report or not. The bar chart is only relevant for profit and loss accounts. You can choose from the following options: No (Default) - Do not display the chart Yes - Display the chart The chart is only displayed when only one account is selected in the filter below Optional Filter The parameters below allow to filter the data displayed in the report. All filters are optional and can be left empty.

Profit center Select the profit center(s) from the choose from list which should be displayed in the (ChooseFrom list) report. It is possible to select multiple profit centers. Only Journal Transactions posted on the selected profit center(s) will be displayed. Project Select the project(s) from the choose from list which should be displayed in the report. It is (ChooseFrom list) possible to select multiple project. Only Journal Transactions posted on the selected project(s) will be displayed. Distributions Select the distribution rules(s) from the choose from list which should be displayed in the Rules report. It is possible to select multiple distribution rules. Only Journal Transactions posted (ChooseFrom list) on the selected distribution rules(s) will be displayed. Enter the relevant parameters and choose OK. The system then displays the report, either with the chart or without, depending on whether you set the parameter Show Chart to Yes or No.

CORESUITE ACCOUNTING

101

2.6.3.4.3.4 Trial Balance - LD (FIN05533) Purpose List of all account without grouping (Brought forward, Debit, Credit, Balance) The ideal report for the accountant who can retrieve a breakdown in Debit and Credit. Access Modules > coresuite Reports > Financials > Journal/Statement > Journal Balance (FIN05533) Fields Reference Date From Reference Date to Ignore Adjustment (per 13.) Show Zero Balance Include EndYear Add Journal Vouchers

Earliest date in the query Latest date in the query YES - Ignore adjustments in the 13th period NO - Adjustments in the 13th are taken into account ONLY - Only adjustments of the 13th period are displayed NO - Zero balance is not displayed (Default) YES - Zero balance is displayed NO - End-Year is not included YES - End-Year is included (Default) NO - Journal Vouchers are not added (Default) YES - Journal Vouchers are added

CORESUITE ACCOUNTING

102

2.6.3.4.3.5 Journal Entry - LD (FIN05419) Purpose Collection and presentation of all journal entries (possibly filtered by marketing document type) Access Modules > coresuite Reports > Financials > Journal/Statement > Journal Entry (FIN05419) Fields Reference Date from Reference Date to Ignore Adjustment (per 13.) Optional Filter: Document Type Select the marketing document type from a choose from list (e.g. Invoice). This is optional. (Text)

Earliest date in the query Latest date in the query YES - Ignore adjustments in the 13th period NO - Adjustments in the 13th are taken into account ONLY - Only adjustments of the 13th period are displayed

CORESUITE ACCOUNTING

103

2.6.3.4.4

Budget

2.6.3.4.4.1 Profit and Loss vs. Budget - KPI (FIN05439) Purpose Comparison of current income including the budget (broken down into KPI measures) Access Modules > coresuite Reports > Financials > Budget > Profit and Loss vs. Budget - KPI (FIN05439) Fields Reference Date from (date calendar selection) Reference Date to (date calendar selection) Add Voucher (drop-down box)

Select the earliest date as filter in the datasource query.

Select the latest date as filter in the datasource query.

Define if Journal Vouchers (Journal Entries which have not yet been posted) should be displayed in the report or not. You can choose from the following options: No (Default) - Do not display Journal Vouchers Yes - Display Journal Vouchers YES - Ignore adjustments in the 13th period NO - Adjustments in the 13th are taken into account ONLY - Only adjustments of the 13th period are displayed Select one or all of the available budgets from the drop-down box. For example Internal/ External Budget or Worstcase/Bestcase. In general budget scenarios are created on profit center, therefore the default value is All (all budgets of the individual profit centers combined). Define if a bar chart of balance per month should be displayed in the report or not. The bar chart is only relevant for profit and loss accounts. You can choose from the following options: No (Default) - Do not display the chart Yes - Display the chart The chart is only displayed when only one account is selected in the filter below

Ignore Adjustment (per 13.) (drop-down box) Budget (drop-down box)

Show Chart (drop-down box)

Show previous year (drop-down box)

Define if the balance and budget of the previous year should be displayed in the report or not. You can choose from the following options: No (Default) - Do not display the previous year balance and budget Yes - Display the previous year balance and budget This parameter is new as of country package version 3.0

Optional Filter

The parameters below allow to filter the data displayed in the report. All filters are optional and can be left empty.

Profit center Select the profit center(s) from the choose from list which should be displayed in the (ChooseFrom list) report. It is possible to select multiple profit centers. Only Journal Transactions posted on the selected profit center(s) will be displayed. Project Select the project(s) from the choose from list which should be displayed in the report. It is (ChooseFrom list) possible to select multiple project. Only Journal Transactions posted on the selected project(s) will be displayed. Distribution Select the distribution rules(s) from the choose from list which should be displayed in the

CORESUITE ACCOUNTING

104

Rules report. It is possible to select multiple distribution rules. Only Journal Transactions posted (ChooseFrom list) on the selected distribution rules(s) will be displayed.

CORESUITE ACCOUNTING

105

2.6.3.4.4.2 Profit and Loss vs. Budget (FIN05408) Purpose Comparison of current income including the budget (broken down according to the chart of accounts) Access Modules > coresuite Reports > Financials > Budget > Profit and Loss vs. Budget (FIN05408) Fields Reference Date from (date calendar selection) Reference Date to (date calendar selection) Add Voucher (drop-down box) Ignore Adjustment (per 13.) (drop-down box) Budget (drop-down box)

Earliest date in the query

Latest date in the query

The default setting is NO. In general it is possible to take parked documents (vouchers) into consideration by selecting YES. These would be selected in the query even though they have not been posted. YES - Ignore adjustments in the 13th period NO - Adjustments in the 13th are taken into account ONLY - Only adjustments of the 13th period are displayed Select one or all of the available budgets from the drop-down box. For example Internal/ External Budget or Worstcase/Bestcase. In general budget scenarios are created on profit center, therefore the default value is All (all budgets of the individual profit centers combined). Define if accounts with Zero Balance should be displayed in the report or not. You can choose from the following options: No - Do not display Accounts with Zero Balance (Default) Yes - Display Accounts with Zero Balance YES - Show last level (Default) NO - Do not show last level Define to which Account Level the details should be displayed. You can choose from the following options: All - Display all account levels up to level 7 (Default) Number 1 to 6 - Display accounts up to the selected level

Show Zero Balance

Show last level To Level

Optional Filter: Profit center Select the profit center(s) from the choose from list which should be displayed in the (ChooseFrom list) report. It is possible to select multiple profit centers. Only Journal Transactions posted on the selected profit center(s) will be displayed. Project Select the project(s) from the choose from list which should be displayed in the report. It is (ChooseFrom list) possible to select multiple project. Only Journal Transactions posted on the selected project(s) will be displayed. Distribution Select the distribution rules(s) from the choose from list which should be displayed in the Rules report. It is possible to select multiple distribution rules. Only Journal Transactions posted (ChooseFrom list) on the selected distribution rules(s) will be displayed. In comparison to the report Profit and Loss vs. Budget - KPI (FIN05439) there is no contraction in this report and the report can therefore quickly become very long (depending on the number of accounts in the chart of accounts). There are also less subtotals.

CORESUITE ACCOUNTING

106

2.6.3.4.4.3 Profit and Loss vs Budget Dashboard - XC (FIN600001) Purpose The coresuite Profit and Loss vs Budget Dashboard compares the current income including to the budget (broken down into KPI measures). Gross Profit, Turnover, Profit(loss), Total Costs and Budget are calculated according to the account classification of coresuite accounting. This is a sample dashboard delivered for free within the country package to demonstrate how data related to financial key numbers can be visualized with Crystal Dashboard. To use this dashboard in a productive environment contact support@coresystems.ch to buy the adjusted dashboard specific for your company. Requirements & settings To view the report on ensure that Flashplayer is installed on the system. We recommend the free Adobe Flashplayer 10.0. By default the values of the dashboard are refreshed automatically every 15 minutes. This interval can be adjusted by your administrator. Access Modules > coresuite Reports > Financials > Budget > Profit/Loss Dashboard - XC (FIN60001) General Authorizations Only users with authorization right to the datasource "Profit/Loss Dashboard - XC (FIN60001)" can view this report. The authorization can be set in SAP Business One under Administration > System Initialization > Authorizations > General Authorizations > User Authorization > coresuite designer > Datasource > FIN > Profit/Loss Dashboard - XC (FIN60001).

CORESUITE ACCOUNTING

107

Help Click on the Help tab to receive more information.

CORESUITE ACCOUNTING

108

2.6.3.4.4.4 Budget Report - KPI (FIN05440) Purpose Budget (only Budget numbers) according to KPI (subtotals). the ideal report for the bank or third party. Access Modules > coresuite Reports > Financials > Budget > Budget Report - KPI (FIN05440) Fields Reference Date from (date calendar selection) Reference Date to (date calendar selection) Add Voucher (drop-down box)

Select the earliest Date as filter in the datasource query.

Select the latest Date as filter in the datasource query.

Define if Journal Vouchers (Journal Entries which have not yet been posted) should be displayed in the report or not. You can choose from the following options: No (Default) - Do not display Journal Vouchers Yes - Display Journal Vouchers YES - Ignore adjustments in the 13th period NO - Adjustments in the 13th are taken into account ONLY - Only adjustments of the 13th period are displayed Select one or all of the available budgets from the drop-down box. For example Internal/ External Budget or Worstcase/Bestcase. In general budget scenarios are created on profit center, therefore the default value is All (all budgets of the individual profit centers combined). The parameters below allow to filter the data displayed in the report. All filters are optional and can be left empty.

Ignore Adjustment (per 13.) (drop-down box) Budget (drop-down box)

Optional Filter

Profit center Select the profit center(s) from the choose from list which should be displayed in the (ChooseFrom list) report. It is possible to select multiple profit centers. Only Journal Transactions posted on the selected profit center(s) will be displayed. Project Select the project(s) from the choose from list which should be displayed in the report. It is (ChooseFrom list) possible to select multiple project. Only Journal Transactions posted on the selected project(s) will be displayed. Distribution Select the distribution rules(s) from the choose from list which should be displayed in the Rules report. It is possible to select multiple distribution rules. Only Journal Transactions posted (ChooseFrom list) on the selected distribution rules(s) will be displayed.

CORESUITE ACCOUNTING

109

2.6.3.4.4.5 Budget Report (FIN05433) Purpose Budget according to chart of accounts (only Budget numbers). Grouped according to chart of accounts. Access Modules > coresuite Reports > Financials > Budget > Budget Report (FIN05433) Fields Reference Date from (date calendar selection) Reference Date to (date calendar selection) Add Voucher (drop-down box) Ignore Adjustment (per 13.) (drop-down box) Budget (drop-down box) Show Zero Balance (drop-down box) Show last level To level

Earliest date in the query

Latest date in the query

The default setting is NO. In general it is possible to take parked documents (vouchers) into consideration by selecting YES. These would be selected in the query even though they have not been posted. YES - Ignore adjustments in the 13th period NO - Adjustments in the 13th are taken into account ONLY - Only adjustments of the 13th period are displayed Various budgets can be selected, if available (e.g. internal / external budget or Worstcase / Bestcase). In general budget scenarios are created on profile center. Therefore, the default value is All (all budgets of the individual profit centers combined). NO - Zero Balance is not displayed (Default) YES - Zero Balance is displayed YES - Display last level or account number NO - Do not display last level or account number Define to which Account Level the details should be displayed. You can choose from the following options: All - Display all account levels up to level 7 (Default) Number 1 to 6 - Display accounts up to the selected level

Optional Filter: Profit center Select the profit center(s) from the choose from list which should be displayed in the (ChooseFrom list) report. It is possible to select multiple profit centers. Only Journal Transactions posted on the selected profit center(s) will be displayed. Project Select the project(s) from the choose from list which should be displayed in the report. It is (ChooseFrom list) possible to select multiple project. Only Journal Transactions posted on the selected project(s) will be displayed. Distribution Select the distribution rules(s) from the choose from list which should be displayed in the Rules report. It is possible to select multiple distribution rules. Only Journal Transactions posted (ChooseFrom list) on the selected distribution rules(s) will be displayed.

CORESUITE ACCOUNTING

110

2.6.3.4.5

Customer (A/R)

2.6.3.4.5.1 Customer (A/R) Ageing Report - LD (FIN05406) Purpose List of outstanding sales for business partners (customers / debtors). Debtor list, which are handled by the accounts receivable manager. Access Modules > coresuite Reports > Financials > Customer (A/R) > Customer (A/R) Ageing Report (FIN05406) Fields Reference Date

By default the current date is entered. That means all open postings are displayed. If the reference date is set to the past only postings with a posting date (Field: RefDate) BEFORE this date are displayed. Furthermore the "Age" of postings is calculated according to the date entered here. Select the date type to be used to calculate the age of the postings. The default is the "Due date" (Field: DueDate). It is also possible to age by posting (Field: RefDate) or document (Field: TaxDate) date. The parameters below allow to filter the data displayed in the report. All filters are optional and can be left empty.

Age by

Optional Filter

Business Partner Filter the report by business partner(s). The default is empty that means all Business Partners will be displayed Control Account Filter the report according to control account, which is defined for the customer (e.g. domestic and foreign). The default selection is for all open accounts. Due date to Filter the report by Due Date to. That means postings with a later due date (Field: DueDate) will not be displayed.

Optional Parameters Additionally there are optional parameters for specific customer requirements that can be activated on request. To activate the parameters it is required to duplicate the report and enter values in the input order. The coresuite standard reports do not display these parameters as it would lead to more complex and not user-friendly reports. Due Date from Parameter "FromDate": Filter the report by Due Date from. That means postings with a earlier due date (Field: DueDate) will not be displayed. Posting Date from Parameter "Date01": Filter the report by Posting Date from. That means postings with a earlier posting date (Field: RefDate) will not be displayed.

Document Date Parameter "Date03": Filter the report by Document Date from. That means postings from with a earlier document date (Field: TaxDate) will not be displayed. Document Date Parameter "Date04": Filter the report by Document Date to. That means postings with to a later document date (Field: TaxDate) will not be displayed.

CORESUITE ACCOUNTING

111

Sample The age of a posting is calculated depending on the two parameters Age By and Reference Date. Postings on Account (e.g. unallocated Payments) always have the age 0 that means they will be displayed in the column Postings on Account & not due Invoices. Example An Invoice was created on 01.01.2010 with due date 02.02.2010. Parameters entered: "Reference Date" = "03.03.2010" "Age By" = "Due Date" >> Age of the Invoice is: "03.03.2010" - "02.02.2010" = 29 days Section 1 (Business Partner Overview) Shows the business partner overview. Section 2 (Postings in detail by Business Partner) Shows the postings in detail, sorted by business partner. When you select the star, you are redirected automatically to "Internal reconciliation" in SAP Business One where you can reconcile the different postings. Section 3 (Summary) Shows a summary.

CORESUITE ACCOUNTING

112

2.6.3.4.5.2 Customer (A/R) Ageing Statement - LD (FIN05418) Purpose Statement of the open positions of the Business Partners The report can easily be sent to a client or business partner via e-mail. It can be used as an alternative to the dunning letter. Access Modules > coresuite Reports > Financials > Customer (A/R) > Customer (A/R) Ageing Statement (FIN05418) Fields Reference Date By default the current date is entered. That means all open sales are taken into to consideration. Age By Due Date Posting Date Document Date Select a business partner. Select a business partner group.

Optional Filter Business Partner BP Group

Sales employee Select a sales employee. Display Details Select a date. from

CORESUITE ACCOUNTING

113

2.6.3.4.5.3 Customer (A/R) Account Journals - LD (FIN05410) Purpose Account journal per business partner (all postings per business partner) Access Modules > coresuite Reports > Financials > Customer (A/R) > Customer (A/R) Account Journals (FIN05410) Fields Date From (date calendar selection) Date To (date calendar selection) Filter by (drop-down box)

Select the earliest date as filter in the datasource query. The Date Type of the Journal Postings depends on the filter by set in the parameter afterwards. Select the latest date as filter in the datasource query. The Date Type of the Journal Postings depends on the filter by set in the parameter afterwards. Define which the Journal Entries are filtered according to the Date Range entered above. Also the details will be ordered by this date in the report. You can choose from the following options: Posting Date (RefDate) (Default) Due Date (DueDate) Document Date (TaxDate) Define if a new page should be created for each business partner or not. You can choose from the following options: No (Default) - Do not create a new page for each business partner Yes - Create a new page for each business partner The parameters below allow to filter the data displayed in the report. All filters are optional and can be left empty.

Display settings New page after new business partner (drop-down box) Optional Filter

Business Partner Select the Business Partner(s) from the choose from list which should be displayed in the report. It is possible to select multiple business partners. Only Journal Transactions (ChooseFrom list) posted on the selected business partners(s) will be displayed. If nothing is selected all data will be displayed. Included Document Types (ChooseFrom list) Select the document type(s) from the choose from list which should be displayed in the report. It is possible to select multiple document type. Only Journal Transactions posted on the selected document type(s) will be displayed. If nothing is selected all data will be displayed.

CORESUITE ACCOUNTING

114

2.6.3.4.6

Vendor (A/P)

2.6.3.4.6.1 Vendor (A/P) Ageing Report - LD (FIN05406) Purpose List of outstanding purchases from business partners (vendor / creditors). Creditors list, which are handled by the accounts payable manager. Access Modules > coresuite Reports > Financials > Vendor (A/P) > Vendor (A/P) Ageing Report (FIN05406) Fields Reference Date

By default the current date is entered. That means all open postings are displayed. If the reference date is set to the past only postings with a posting date (Field: RefDate) BEFORE this date are displayed. Furthermore the "Age" of postings is calculated according to the date entered here. Select the date type to be used to calculate the age of the postings. The default is the "Due date" (Field: DueDate). It is also possible to age by posting (Field: RefDate) or document (Field: TaxDate) date. The parameters below allow to filter the data displayed in the report. All filters are optional and can be left empty.

Age by

Optional Filter

Business Partner Filter the report by business partner(s). The default is empty that means all Business Partners will be displayed Control Account Filter the report according to control account, which is defined for the customer (e.g. domestic and foreign). The default selection is for all open accounts. Due date to Filter the report by Due Date to. That means postings with a later due date (Field: DueDate) will not be displayed.

Optional Parameters Additionally there are optional Parameters for specific customer requirements that can be activated on request. To activate the parameters it is required to duplicate the report and enter values in the input order. The coresuite standard reports do not display these parameters as it would lead to more complex and not user-friendly reports. Due Date from Parameter "FromDate": Filter the report by Due Date from. That means postings with a earlier due date (Field: DueDate) will not be displayed. Posting Date from Document Date from Document Date to Parameter "Date01": Filter the report by Posting Date from. That means postings with a earlier posting date (Field: RefDate) will not be displayed. Parameter "Date03": Filter the report by Document Date from. That means postings with a earlier document date (Field: TaxDate) will not be displayed. Parameter "Date04": Filter the report by Document Date to. That means postings with a later document date (Field: TaxDate) will not be displayed.

CORESUITE ACCOUNTING

115

Sample The age of a posting is calculated depending on the two parameters Age By and Reference Date. Postings on Account (e.g. unallocated Payments) always have the age 0 that means they will be displayed in the column Postings on Account & not due Invoices. Example An Invoice was created on 01.01.2010 with due date 02.02.2010. Parameters entered: "Reference Date" = "03.03.2010" "Age By" = "Due Date" >> Age of the Invoice is: "03.03.2010" - "02.02.2010" = 29 days Section 1 (Business Partner Overview) Shows the business partner overview. Section 2 (Postings in detail by Business Partner) Shows the postings in detail, sorted by business partner. When you select the star, you are redirected automatically to "Internal reconciliation" in SAP Business One where you can reconcile the different postings. Section 3 (Summary) Shows a summary.

CORESUITE ACCOUNTING

116

2.6.3.4.6.2 Vendor (A/P) Account Journals - LD (FIN05410) Purpose Account journal per business partner (all postings per business partner) Access Modules > coresuite Reports > Financials > Vendor (A/P) > Vendor (A/P) Account Journals (FIN05410) Fields Date from Date to Filter by

Earliest date in the query. Latest date in the query. Reference Date Due Date Tax Date YES - A new page for each Business Partner NO - Everything together

Display Settings New page after new business partner Optional Filter Business Partner Filter by one or multiple Business Partners Included Filter by one or multiple Document Types Document Types

CORESUITE ACCOUNTING

117

2.6.3.4.7

Lists

2.6.3.4.7.1 Chart of Accounts - LD (FIN05401) Purpose Listing of all accounts and the existing profit centers and distribution rules. Access Modules > coresuite Reports > Financials > Lists > Chart of Accounts (FIN05401) Parameter form No parameter form

CORESUITE ACCOUNTING

118

2.6.3.4.7.2 Chart of Accounts KPI - LD (FIN05401) Purpose Listing of all accounts, including the division into classes, class groups and Subtotals (KPI) Access Modules > coresuite Reports > Financials > Lists > Chart of Accounts KPI (FIN05401) Fields Show last level

YES - Show all levels (default) NO - Do not all levels (only classes and class groups)

CORESUITE ACCOUNTING

119

2.6.3.4.7.3 Chart of Accounts Template - LD (FIN05401) Purpose Listing of all accounts (including the profit center and distribution rules) of existing external chart of accounts templates. Access Modules > coresuite Reports > Financials > Lists > Chart of Accounts Template (FIN05401) Fields TemplateID

Select an existing external chart of accounts template

CORESUITE ACCOUNTING

120

2.6.3.4.8

Cash Flow

The cash flow reports are documented in the section Liquidity Package.

CORESUITE ACCOUNTING

121

2.6.3.4.9

Tax Report

2.6.3.4.9.1 VAT by Code (FIN05414) Purpose List of taxation and VAT base amounts for each tax code defined in the corresponding period. Access Modules > coresuite Reports > Financials > Tax Report > VAT by Code (FIN05414) Fields Reference Date from Reference Date to Details Code

Earliest date in the query Latest date in the query YES - Default setting. Show details including the individual postings. NO - Only show the contraction of the tax codes Filter by each tax code so that only the selected codes are displayed

2.6.3.4.9.2 VAT by Account (FIN05415) Purpose List of taxation and VAT base amounts for each account and tax code defined in the corresponding period. Ideal to derive the VAT-liable turnover. Access Modules > coresuite Reports > Financials > Tax Report > VAT by Account (FIN05415) Fields Reference Date from Reference Date to Details Code

Earliest date in the query Latest date in the query YES - Default setting. Show details including the individual postings. NO - Only show the contraction of the tax codes Filter by each tax code so that only the selected codes are displayed

2.6.3.4.9.3 Tax Report Switzerland (FIN05450) - CH Only Purpose Country-specific report for tax declaration. This report is available in the languages German, French and Italian only. It was used before 2010 only. Access Modules > coresuite Reports > Financials > Tax Report > Tax Report Switzerland (FIN05450) Fields Reference Date from Reference Date to Display Tax Tutorial

Earliest date in the query Latest date in the query Ja - Display the tutorial on how to adjust the settings in SAP for the tax declaration boxes as first page

CORESUITE ACCOUNTING

122

Nein - Only show the tax declaration report 2.6.3.4.9.4 Tax Report Switzerland 01.01.2010 - 30.06.2010 (FIN60002) - CH Only Purpose Country-specific report for tax declaration. This report is available in the languages German, French and Italian only. Access Modules > coresuite Reports > Financials > Tax Report > Tax Report Switzerland 01.01.2010 - 30.06.2010 (FIN60002) Fields Reference Date from Reference Date to Display Tax Tutorial

Earliest date in the query Latest date in the query Ja - Display the Tutorial on how to adjust the settings in SAP for the Tax declaration boxes as first page Nein - Only show the tax declaration report

System Message In case one or more if the Tax Declaration Boxes is not defined in SAP, a message box will be displayed as information. To display the Report select OK. Tutorial for Tax Declaration Box Settings Display the Tutorial on how to adjust the settings in SAP for the Tax declaration boxes as first page by selecting Yes in the Parameter form. For a correct Swiss tax report you need to enter exactly the following tax declaration boxes in SAP Business One under Administration > Setup > Financials > Tax > Tax Declaration Boxes Please ensure to fill in the correct: 1) Boxcode 2) Type 3) Summary Field 4) Debit/Credit 5) Formula Syntax

2.6.3.5

Sales Reports

2.6.3.5.1

Sales Revenue Dashboard - XC (SAR130003)

Purpose The coresuite Sales Revenue Dashboard displays Sales Revenue of the current Financial Year grouped by Sales Employees, Countries, Customers or Item Groups (Service documents are marked as "Service" item group) in comparison to the Previous Year To Day (YTD). The amounts displayed are the net amounts taken from the Sales Marketing Documents. Sales Revenue is the combination of Invoices and Credit Notes. Discounts are taken into consideration, Tax or Freight are not included. This is a Sample Dashboard delivered for free within the country package to demonstrate how data related to sales documents can be visualized with Crystal Dashboard. To use this dashboard in a productive environment contact support@coresystems.ch to buy the adjusted dashboard specific for

CORESUITE ACCOUNTING

123

your company. Requirements & settings To view the report on ensure that Flashplayer is installed on the system. We recommend the free Adobe Flashplayer 10.0. By default the values of the Dashboard are refreshed automatically every 15 Minutes. This interval can be adjusted by your administrator. Access Modules > coresuite Reports > Sales > Sales Revenue Dashboard - XC (FIN60001) or Modules > Sales - A/R > Sales Reports > Sales Revenue Dashboard - XC (FIN60001) General Authorizations Only users with authorization right to the datasource "Sales Revenue Dashboard - XC (FIN60001)" can view this report. The authorization can be set in SAP Business One under Menu > Administration > System Initialization > Authorizations > General Authorizations > User Authorization > coresuite designer > Datasource > SAR > Sales Revenue Dashboard - XC (FIN60001).

CORESUITE ACCOUNTING

124

2.6.3.5.2

Documents - Sales - LD (SAR06000)

Purpose Display relevant data for selected sales documents. All amounts displayed are net amounts. Access Modules > coresuite Reports > Sales > Documents - Sales - LD (SAR06000) Fields Order by (drop-down box)

Define by which Object Type the data is grouped. You can choose from the following options: Business Partner (Default) Delivery Date (Due Date) Document Date Document Owner Sales Person Item Group Country Item Name Business Partner Group Dist. Rule (Profit Center)

Document Type Select the Document Type(s) that you want to display in the report. You can choose from (drop-down box) the following options: Sales Quotation (Default) Sales Order Delivery & Return Delivery Only Return Only Invoice & Credit Memo Invoice & Credit Memo & down Payment Invoice Invoice Only Credit Memo Only Down Payment Invoice All Status (drop-down box) Select the documents for which you want to display the status. You can choose from the following options: Open (Default) - Only display open documents Close - Only display closed documents All - Display both open and closed documents Define if the all document rows should be displayed in the report or not. You can choose from the following options: No (Default) - Do not display document rows Yes - Display document rows Define if Freight and Rounding on Document Header should be calculated in the amounts displayed or not. You can choose from the following options: No (Default) - Do not take the Freight and Rounding on Document Header into consideration Yes - Take the Freight and Rounding on Document Header into consideration This parameter is new as of version 2.90. Before, the freight and rounding on document header was not taken into consideration. In general, the correct way would be to take it into consideration. For compatibility reasons we added this parameter and used the default value to display the same values as in older versions. Optional Filter The parameters below allow to filter the data displayed in the Report. All filters are optional and can be left empty.

Detailed (drop-down box)

Include document Freight/ Rounding (drop-down box)

CORESUITE ACCOUNTING

125

Business Partner Select the Business Partner(s) that you want to display in the report. It is possible to (ChooseFrom list) select multiple Business Partners. Only documents for the selected Business Partner(s) will be displayed. Item Select the item(s) that you want to display in the report. It is possible to select multiple (ChooseFrom list) items. Only documents for the selected item(s) will be displayed. Reference Date From (date calendar selection) Reference Date To (date calendar selection) Select the earliest date as filter in the datasource query

Select the latest date as filter in the datasource query

Sales employee Select the sales employee(s) that you want to display in the report. It is possible to select (ChooseFrom list) multiple sales employees. Only documents for the selected sales employee(s) will be displayed.

CORESUITE ACCOUNTING

126

2.6.3.5.3

Sales Pivot (SAR06001)

Purpose Display relevant data for selected sales documents. All amounts displayed are net amounts. Access Modules > coresuite Reports > Sales > Documents - Sales - LD (SAR06000) Fields Order by (drop-down box)

Define by which Object Type the data is grouped. You can choose from the following options: Item Group Country Item Name Business Partner Business Partner Group Document Owner Sales Person Distribution Rule Select the earliest date as filter in the datasource query

Reference Date From (date calendar selection) Reference Date To (date calendar selection)

Select the latest date as filter in the datasource query

Document Type Select the Document Type(s) that you want to display in the report. You can choose from (drop-down box) the following options: Invoice & Credit Memo Invoice & Credit Memo & down Payment Invoice Optional Filter The parameters below allow to filter the data displayed in the Report. All filters are optional and can be left empty.

Business Partner Select the Business Partner(s) that you want to display in the report. It is possible to (ChooseFrom list) select multiple Business Partners. Only documents for the selected Business Partner(s) will be displayed. Item Select the item(s) that you want to display in the report. It is possible to select multiple (ChooseFrom list) items. Only documents for the selected item(s) will be displayed. Sales employee Select the sales employee(s) that you want to display in the report. It is possible to select (ChooseFrom list) multiple sales employees. Only documents for the selected sales employee(s) will be displayed.

CORESUITE ACCOUNTING

127

2.6.3.5.4

Sales Backorder Report - SAP Form (SAR130004)

Purpose To print SAP Business One Sales Backorder Report. To display the form from the Preview of the Form "Backorder Report" (10065066) Modules > Sales - A/R > Sales Reports > Back order. This opens the Backorder window.

Enter your selection criteria and click OK. The system then displays the Backorder Report.

CORESUITE ACCOUNTING

128

Click on the Preview icon

in the task bar. The system then displays the Sales Report.

All columns of the Standard Form Settings of the SAP Business One Sales Backorder Report window are displayed. In order to display any other columns, coresystems can create a user defined report on request.

CORESUITE ACCOUNTING

129

2.6.3.6

Service

2.6.3.6.1

Service Dashboard - XC (SRV140000)

Purpose The coresuite Service Dashboard displays the queue of all open Service Calls in the SAP Business One system and offers analysis of the Workload of Service Consultants with 3 integrated charts. This is a Sample Dashboard delivered for free within the country package to demonstrate how data related to service calls can be visualized with Crystal Dashboard. To use this dashboard in a productive environment contact support@coresystems.ch to buy the adjusted dashboard specific for your company. Requirements & settings To view the report on ensure that Flashplayer is installed on the system. We recommend the free Adobe Flashplayer 10.0. By default the values of the dashboard are refreshed automatically every 5 minutes. This interval can be adjusted by your administrator. Access Modules > coresuite Reports > Service > Service Dashboard - XC (SRV140000) or Modules > Service > Service Reports > Service Dashboard - XC (SRV140000)

CORESUITE ACCOUNTING

130

CORESUITE LIQUIDITY PACKAGE

The coresuite liquidity package is aimed at companies that want to control their liquidity proactively. The coresuite liquidity package enables you to create forecasts (Liquidity Forecast) and analyses of the past (Cash Flow Statement with operational, investment and financial cash flow). The Customer Payment Rating calculates the average payment delay of your customers (Modules > Business Partners > Business Partner Master Data > Payment Terms > Average Delay) and takes this delay into account for your forecast. Other than with the standard SAP Cash Flow function, you can also include orders, purchase orders, deliveries and all other SAP documents in your calculation. With the installment function you expand your order management by splitting purchase documents or sales documents into installments even before you create the invoice. By doing so, you can distribute large incoming or outgoing payments over a longer period of time. The coresuite liquidity package consists of three reports and a function to define installments on marketing documents other than invoices. The three reports are: Cash Flow Statement (FIN60004) Customer Payment Rating (FIN60007) Liquidity Forecast (FIN60000) To open the reports, go to Modules > coresuite Reports > Financials > Cash Flow.

CORESUITE LIQUIDITY PACKAGE

131

3.1

Cash Flow Statement (FIN60004)

Modules > coresuite Reports > Financials > Cash Flow > Cash Flow Statement (FIN60004) With this report you can analyze the history of your liquidity. The report differentiates between operational cash flow, investment cash flow and financial cash flow. The reports show you why your liquidity has changed. For this report to work, the coresuite accounting module must be mapped correctly.

3.1.1

Window Parameter: Cash Flow Statement (FIN60004)


Differentiation between operational cash flow, investment cash flow and financial cash flow. Enter the reference date. Choose the duration of the time interval from the drop-down list. You can choose from the following options: 12 Months 6 Months 3 Months 4 Quarters 2 Quarters 1 Quarter Choose the currency of the report from the drop-down list. You can choose from the following options: Local Currency System Currency Choose Yes if you want to take into account the control sum in your report. Choose No if you do not want to take into account the control sum in your report. Choose Default Values if you want to reset the parameters to the default values.

Layout description Date Range: Reference Date (Date) Time Interval (Text)

Display in Report: Currency (Text)

Display Settings: Control Sum (Text)

Default Values [Button]

After entering the data, choose OK. The system then displays the report.

CORESUITE LIQUIDITY PACKAGE

132

3.2

Customer Payment Rating (FIN60007)

Modules > coresuite Reports > Financials > Cash Flow > Customer Payment Rating (FIN60007) This report calculates your customers payment behavior. If you want, you can transfer the value directly from the report into the business partner master data. The average delay is taken into account for the Liquidity Forecast. This means that the forecast will be more accurate.

3.2.1

Window Parameter: Customer Payment Rating (FIN60007)

Enter the relevant data in this window or choose Default Values if you would like to use the default values for your report. Layout description Date Range: Year (Numeric) Display Settings: Display Details (Text) Choose Yes if you want to display the details for your report. The report will then not only display the average delay for the selected year and the year before that, but also the payment delay for each invoice of the selected year. Choose No if you do not want to display the details for the report. The report will only display the average payment delay for the selected year and the year before that. If you want to restrict your report to one or more business partners, select the relevant business partner(s) from the choose-from list. Choose Default Values if you want to reset the parameters to the default values. Enter a year. The report calculates the average delay for the year you choose and the year before that. Enter the year in the format YYYY. Overview over your customers with invoices and average delay per invoice. The average delay is calculated over the period of 1 year.

Optional Filter: Business Partner (Text) Default Values [Button]

After entering all the data, choose OK. The system then displays the report. The report is sorted by customers, so you will get a clear overview over the payment behavior of your customers. The orange arrows in the report are linked directly to the SAP Business One system. When you click on an arrow, the system opens the window A/R Invoice or the window Business Partner Master Data.

CORESUITE LIQUIDITY PACKAGE

133

3.3

Liquidity Forecast (FIN60000)

Modules > coresuite Reports > Financials > Cash Flow > Liquidity Forecast (FIN60000) This report enables you to control your liquidity: it summarizes all Cash Flow-relevant processes in your SAP system. You can also add a graph to visualize the information. While in the standard SAP Cash Flow report (Modules > Financials > Financial Reports > Financial > Cash Flow), only invoices are taken into account, the Liquidity Forecast takes into account both outgoing payments (e.g. payroll) and incoming payments (e.g. orders).

3.3.1

Window Parameter: Liquidity Forecast (FIN60000)


Summary of all Cash Flow-relevant processes in your SAP system. Enter the reference date here. Choose the duration of the time interval from the drop-down list. You can choose from the following options: 12 Months 4 Quarters 12 Weeks 12 Days The Opening Balance is calculated from the Postings (Journal Entries) on Cash Accounts with a Posting Date before the Reference Date selected. Choose Yes if you want to include the opening balance in your report. Choose No if you do not want to include opening balance in your report. The Postings after reference date are Journal Entries or Journal Vouchers on Cash Accounts with a Posting Date equal or after the Reference Date selected. Choose Yes if you want to include the postings in future in your report. In the Optional Filters section below, you can define the Posting Origin Types to be included. Choose No if you do not want to include postings in future in your report. Choose Yes if you want to include the marketing documents in your report. In the Optional Filters section below, you can define the Mark eting Document Types to be included. Choose No if you do not want to include marketing documents in your report. Choose Yes if you want to include the marketing documents drafts in your report. In the Optional Filters section below, you can define the Mark eting Document Types to be included. Choose No if you do not want to include marketing documents drafts in your report. Choose Yes if you want to include payment drafts in your report. Choose No if you do not want to include payment drafts in your report. Choose Yes if you want to include recurring postings in your report. Choose No if you do not want to include recurring postings in your report. Journal vouchers (Modules > Financials > Journal Vouchers) are drafts that do not create any values in the general ledger. Choose Yes if you want to include journal vouchers in your report. Choose No if you do not want to include journal vouchers in your report. You will find the table Projected Postings under Modules > Financials > Financial Reports > Financial > Cash Flow. Choose Yes if you want to include the table Projected Postings in your report. Choose No if you do not want to include the table Projected Postings in your

Layout description Date Range: Reference Date (Date) Time Interval (Text)

Displayed Postings Types: Include Opening Balance (Postings on Cash Accounts in past) (Text) Include Postings after Reference Date (Text)

Include Marketing Documents (Text)

Include Marketing Documents Drafts (Text)

Include Payment Drafts (Text) Include Recurring Postings (Text) Include Journal Vouchers (Text)

Include Projected Postings Table (Text)

CORESUITE LIQUIDITY PACKAGE

134

report. Display Settings: Sort by (Text) Define how you want to sort the data in your report. You can sort the data by: Currency Document Type Chart of Accounts Choose Yes if you want to take into account the details for the report. Choose No if you do not want to take into account the details for the report. Choose Yes if you want your report to include graphs. Choose No if you do not want your report to include graphs. Choose STANDARD for the standard calculation method for marketing documents. This means that the expected date of the money will be calculated according to the Payment Terms in the document. Choose DELAY to use the standard calculation method for marketing documents adding the average delay of the business partners. Choose CASHDISCOUNT if you want to take into account the cash discount. If the cash discount is applicable (i.e. if the due date is still in the future), the system will take into account the highest cash discount possible. From the drop-down list, select the currency for your report. You can choose from the following options: Local Currency System Currency From the choose-from list, select the origin type(s) of the journal entries you want to include in the report. You can choose from the following options: Incoming Payment Deposit Journal Entry Outgoing Payment Check for Payment Predated Deposit From the choose-from list, select the document type(s) you want to include in the report. You can choose from the following options: AR Invoice AR Credit Memo Delivery Note Sales Order AP Invoice AP Credit Memo Goods Receipt PO AR Down Payment AP Down Payment Purchase Order Sales Quotation If you want to restrict your report to one or several accounts, select the relevant account(s) from the choose-from list. If you want to restrict your report to one or several business partners, select the relevant business partner(s) from the choose-from list. If you want to restrict your report to one or several sales employees, select the relevant sales employee(s) from the choose-from list. Only the Sales Employee defined in the header section of the form will be taken into account. If you have defined several sales employees outside the

Display Details (Text) Show Chart (Text) Calculation Method of Expected Date and Amount (Text)

Currency (Text)

Optional Filter: Origin of Journal Entry (Postings after Reference Date) (Text)

Marketing Document Type (Text)

Account (Text) Business Partner (Text) Sales employees (on Document Header Level) (Text)

CORESUITE LIQUIDITY PACKAGE

135

header level (e.g. on the Sales Order on the tab Contents in the column Sales Employee), you will need to create individual records for each of them, if you want to take them into account. Project (on Document Header Level) (Text) If you want to restrict your report to one or several projects, select the relevant project(s) from the choose-from list. Only the project defined in the header section of the form will be taken into account. If you have defined several projects outside the header level (e.g. on the Sales Order on the tab Contents in the column Project), you will need to create individual records for each of them, if you want to take them into account. Default Values [Button] Choose Default Values if you want to reset the parameters to the default values.

After entering all the data, choose OK. The system then displays the report.

CORESUITE LIQUIDITY PACKAGE

136

3.4

Define Installments

With the coresuite liquidity package you can define installments. Unlike with the standard SAP system, where you can define installments only in the Payment Terms, with the coresuite liquidity package you can define installments for the following documents: Sales: Sales Quotation Sales Orders Deliveries Returns (Sales) AR Credit Memo Purchasing: Purchase Quotation Purchase Orders Goods Receipt POs Returns (Purchase) AP Credit Memo For AR Invoices and AP Invoices you cannot define installments, because for these documents the SAP standard system already provides a function for defining installments. Access Open a document, e.g. a delivery, right-click on it and choose Define Installments. The window Installments appears:

Fields Number of installments Enter the number of installments. Due Date Percent Amount Open Amount Define the due date for the installments. Enter the percent of the total amount that should be paid with this installment. This field displays the amount of the relevant installment. This field displays the amount that still needs to be paid.

CORESUITE LIQUIDITY PACKAGE

137

Procedure Enter the necessary data. Choose OK. The window will close. To display the installment data again, open the relevant document and right-click on it. Choose Define Installments again. The system displays the window Installments and you can see the relevant information. If you defined installments for a document and then create an invoice as the target document, the system issues a warning that you have to define the installments on the invoice under Accounting. If you defined installments for a document and then create a partial target document, the system issues a warning that you have to redefine the installments on the target document.

CORESUITE LIQUIDITY PACKAGE

138

CORESUITE CUSTOMIZE

4.1

System requirements

Hardware and software requirements for SAP Business One The hardware and software requirements for SAP Business One are available on www.sap.com or on the SAP Partner Portal (requires SAP superuser login). Hardware and software requirements for coresuite To use coresuite customize, your system must meet the requirements for coresuite. You can download the latest coresuite system requirements from our website: http://www.coresystems.ch/downloads.

CORESUITE CUSTOMIZE

139

4.2

Introduction

coresuite customize is an add-on with which you can change the look and behavior of SAP Business One windows. coresuite customize consists of five modules: Optimizer Item Placement Function Button New Items New Menu With coresuite customize you can tailor SAP Business One to your needs and optimize your workflows to reduce administrative efforts. The customization of SAP Business One can be achieved by using coresuite customize rules. There are three ways to create rules: Create your own rules using the right-click menu Using the right-click menu you can create simple rules with which you can move fields, color fields, define required fields, etc. For more information, please refer to right-click menu. Amend example rules For more information on example rules and how to import them, please refer to Import Example Rules and to the coresuite customize reference manual under Installed example rules. Create your own rules from scratch Code your own rules. For more information on coding, please refer to the coresuite customize reference manual under Basic skills - Coding.

CORESUITE CUSTOMIZE

140

4.3

Rules

What is a rule? A rule is a function, i.e. a validation, calculation or change in SAP Business One. Each coresuite customize module consists of rules. In the modules, each line corresponds to a rule.

Example: This is the window of the Optimizer module. The line marked in red represents a rule that automatically generates a customer number when you add a business partner.

Activating rules To activate a rule, activate the checkbox in the column Active and choose Update. The change is effective immediately; you do not need to restart either SAP Business One or the add-on. Exception: Rules with the Event Type StartUp. To activate these rules, you must stop and re-start the add-on. Deactivating rules To deactivate a rule, deactivate the checkbox in the column Active and choose Update.

CORESUITE CUSTOMIZE

141

CORESUITE CUSTOMIZE

142

4.4

Description of forms
Optimizer Item Placement Function Button New Items New Menu Extended Code Export / Import

This chapter describes the coresuite customize forms in which you can define and amend rules:

Access To open the masks, go to Modules > Administration > Add-Ons > coresuite customize and select the relevant form. Authorization As of coresuite version 1.51 you can activate/deactivate each rule for defined user groups. The default setting is that all existing rules (or rules for which you have not changed any authorizations) are active for all groups, i.e. that all user groups can access these rules. For more information, please refer to Authorizations.

CORESUITE CUSTOMIZE

143

4.4.1

Optimizer

In the form coresuite customize Optimizer you can create rules and edit existing rules. The form mainly consists of a list. In this list, each line corresponds to a rule and each column corresponds to a property of the rule. Below, the columns are explained in detail. For examples of Optimizer rules, please refer to the coresuite customize Reference manual. Access Modules > Administration > Add-Ons > coresuite customize > Optimizer Window

Fields Blue section: General settings In the blue section, you can define general settings. We recommend that you fill in these columns first, because some of the other columns depend on these ones. Active RuleName Checkbox active: The rule is active. Checkbox inactive: The rule is not active. In this column you can assign a name to the rule. Make sure you choose a name that is unique, so you can differentiate the rules easily. The rules are sorted by this name. Choose useful names for your rules; e.g. include the namespace of the person who creates the rule. This will enable you to find them more easily later. Type Select the type from the drop-down list. You can choose from the following options: CSCODE - c# code VBCODE - Visual Basic code SQL - Structured Query Language REGEX - Regular Expression From the drop-down list, select the action that you would like to be carried out. You can choose from the following options:

Action

CORESUITE CUSTOMIZE

144

VALIDATE - Select VALIDATE if you want the system to validate the format of the value that the user enters in this field. It only makes sense to choose this option if in column Type you have chosen SQL or REGEX. CHANGE VALUES - Select CHANGE VALUES if you want the system to convert the entry into another format (e.g. convert the zip code into the relevant city). It only makes sense to choose this option if in column Type you have chosen SQL. Red section: Warnings In the red area you can define error messages that should be displayed if the rule fails. "Failing" does not necessarily mean that the rule contains errors. A rule could also fail because the REGEX validation fails, e.g. because the user entered a value that is not in the correct format. Only Warning Here you can choose if the system should issue a warning if the validation fails. The user can then continue to work normally. Checkbox active: The system will issue a warning. Checkbox inactive: The system will not issue a warning. If you do not activate the checkbox Only Warning, the action will not be completed. This means that the value will not be added, or that the user can only leave a field when he has entered the value in the correct format. Warning Text Here you can define which text the system should issue. Use parameters if you want this text to be in multilingual format. The syntax for this is the same as in coresuite designer. For more information, please refer to the coresuite customize reference manual under Translation parameters. Here you can define if the system should issue the warning as a message box. In this case, the warning appears in a pop-up window. The user must confirm the message by choosing OK to continue. Checkbox active: The system will issue the warning in a message box. Checkbox inactive: The system will not issue the warning in a message box.

Warning Box

Statusbarmessage Here you can define if the system should issue the warning in the status bar. In this case, the warning appears in a red bar at the bottom of SAP Business One. Checkbox active: The system will issue the warning in the status bar. Checkbox inactive: The system will not issue the warning in the status bar. White section: Target In the white section you can define base elements. If in column Action (in the blue section) you have selected CHANGE VALUES, a value can be written back in a base element. For this, the SQL query must return one value only. coresuite customize will then automatically insert this value in the defined base element. You only need a base element if the trigger element is not the same as the element on which the action (validation/ change value) should be performed. FormType Base Here you can define the formtype of the base element. For more information on formtypes, please refer to the coresuite customize reference manual under FormType. If you enter several formtypes, separate them with commas. Here you can define the ItemUID (UID = Unique ID) of the base element. If the ItemUID of the base element is a matrix or a grid, you must also indicate the Column Base. Here you can enter the column description of the base element (see ItemUID Base). You only have to fill in this field if the ItemUID of the base element is a matrix or a grid.

ItemUID Base

Column Base

Green section: Trigger In the green area you can define the element that triggers the rule. Apart from the trigger element you must

CORESUITE CUSTOMIZE

145

also indicate Event Type, Before Event and Form Mode. Form Type Enter the formtype of the trigger element. For more information on formtypes, please refer to the coresuite customize reference manual under FormType. If you enter several formtypes, separate them with commas. Enter the ItemUID of the trigger element. If you do not need the ItemUID, you can leave this field empty. If you enter several ItemUIDs, separate them with commas. Enter the column description of the trigger element. If you do not need the column description, you can leave this field empty. If you enter several column descriptions, separate them with commas. Select the event type of the trigger from the drop-down list. You can select from all the SAP Business One event types. For an overview over the different event types, please refer to the SAP Business One SDK. Here are the most important event types: ItemPressed - Is triggered by any button (e.g. Update in the sales order). Click - Is triggered by clicking on any field with the mouse. ComboSelect - Is triggered by selecting a value from a drop-down list. ValueChanged - Is triggered by changing a value and then leaving the field. Validate - Is triggered by leaving a field. FormLoad - Is triggered by opening a form. FormDataAdd/Update/Load - Is triggered by creating and loading a document. Startup - Is triggered by starting SAP Business One. Define if the system should react to the before event or to the after event. Checkbox active: It is a before event (before event: before SAP executes an action). Checkbox inactive: It is an after event (after event: after SAP executes an action). If an SAP action should be prevented (e.g. do not allow Add if an entry is incorrect), then you must define a before event. Here you can define the form mode of the trigger element. You can choose from the following options: 0 - FIND 1 - OK 2 - UPDATE 3 - ADD 4 - VIEW 5 - PRINT -1 - ALL -2 - MODIFY ALL contains all modes. MODIFY contains the modes ADD and UPDATE. Be careful when you combine elements with events: Not all elements throw the same events. A button, for example, does not have a Validate event.

ItemUID

Column

Event Type

Before Event

Form Mode

CORESUITE CUSTOMIZE

146

Gray section: Expression In the gray section you can define the execution code and manage authorizations. Expression The expression contains the code that should be executed. This can be an SQL query, a RegEx expression or a c# or vb.Net code section. Expression is the most important column in the gray section of the table. Here you can define what exactly should be validated. You cannot edit the column Expression directly, only by using the relevant editor. There are two ways to open the editor: by clicking on the orange arrow in the column Expression by double-clicking on the row header. The system automatically opens the relevant editor for the type that you have defined in the blue section of the table (General settings). For more information on the different editors, please refer to Editors. If rules are used for a matrix (example for a matrix: the items list in the Sales Order [Modules > Sales > Sales Order > Contents]), column descriptions might shift and no longer match the actual columns. By activating the checkbox in the column Refresh, the list is refreshed and the columns and descriptions will match again. Every rule can be assigned to user groups. Click on the orange arrow and activate the checkbox for the relevant user groups. For more information, please refer to Authorizations.

Refresh

Authorization

Buttons Add row Delete row Item Info On Open Event Logger Choose Add row to add a new row. Choose Delete row to delete a row. Choose Item Info On, then click on the item for which you want to see the information. The relevant information (height, length, position, etc.) will appear in the status bar. See Event Logger.

By right-clicking on a row, the option Duplicate Row also becomes available. Changes only become effective after you choose Update.

CORESUITE CUSTOMIZE

147

4.4.1.1

Event Logger

With the Event Logger you can record all UI API events that are fired by the SAP Business One application. Access Modules > Administration > Add-Ons > Optimizer > Open Event Logger Window

Fields Filter Event FormType ItemUID ColUID Table Event FormType ItemUID ColUID Before Event Indicates the type of event. Indicates the formtype on which the event appears. Indicates the ItemUID on which the event appears. Indicates the ColumnUID on which the event appears. Indicates if the event is a before event or an after event: From the drop-down list, choose the event by which you want to filter. Enter the formtype that you want to search for. Enter the ItemUID that you want to search for. Enter the ColumnUID that you want to search for.

CORESUITE CUSTOMIZE

148

True = Before Event False = After Event FormMode Indicates the form mode: 0 - FIND 1 - OK 2 - UPDATE 3 - ADD 4 - VIEW 5 - PRINT -1 - ALL -2 - MODIFY ALL contains all modes. MODIFY contains the modes ADD and UPDATE. InnerEvent Indicates if the event is triggered by another function. True: The event is an inner event. False: The event is not an inner event.

Procedure 1. Open the Event Logger (Modules > Administration > Add-Ons > Optimizer > Open Event Logger). The Event Logger immediately starts recording events. For performance reasons, the system does not show the events in real time. Choose Refresh to display the most recent events. 2. Define the filter criteria. You can filter the events by Event Type, Form Type, Item UID and Column UID. If you do not define a filter, the Event Logger lists all events. 3. Continue working normally in SAP Business One and execute the process that you would like to record. While you are working, the Event Logger records all events in the background. 4. After you have finished executing the process, choose Refresh. You can then analyze the events. 5. Choose Clear to delete the list and to start recording again. If necessary, go back and repeat steps 1-5. 6. Choose Cancel to close the Event Logger. The Event Logger will no longer record any events.

CORESUITE CUSTOMIZE

149

4.4.1.2

Editors

To edit code you must start the relevant code editor. There are two ways to do this: by clicking on the orange arrow in the column Expression by double-clicking on the row header. The system automatically opens the relevant editor for the type that you have defined in the blue section of the table (General settings): If in column Type the value is CSCODE or VBCODE, the system opens coresuite customize editor. If in column Type the value is REGEX, the system opens Regular expression editor (RegEx Editor). If in column Type the value is SQL, the system opens coresuite customize SQL editor.

4.4.1.2.1

coresuite customize editor

With coresuite customize editor you can edit CSCODE and VBCODE queries. Access Open the Optimizer (Modules > Administration > Add-Ons > coresuite customize > Optimizer) and click on the orange arrow in the column Expression. You can only open this editor if in column Type the value is CSCODE or VBCODE. Window

CORESUITE CUSTOMIZE

150

Fields [Ctrl + S] [Ctrl + P] [F5] [Ctrl + Z] Save the code Print the code Check the syntax of the code (parser) Undo the last change Redo the last change [Ctrl + F] [Ctrl + K + X] Search the code Insert code snippets

Procedure In the coresuite customize editor you can write normal C# or VB code. The system then compiles the code and executes it for the relevant event. To make sure that the code contains no errors, you can parse it. To do so, choose the third icon from the left ( ) in the menu bar of the coresuite customize editor. If there are any compilation errors, the system will indicate them. The system executes the code using an auxiliary class. In the code, the object "pVal" then provides more detailed information for the event: ActionSuccess BusinessObjectKe y CharPressed ColUID EventType Form FormUID InnerEvent Item Row Type Value Changed BusinessObjectKeyString PopUpIndicator Was the last SAP action successful? [true/false] ID of the business object (in XML format) on which the event has been triggered (only for FormData Events). pressed key [number] current column [string] event type that triggered the action current form Unique ID of the form [string] Is the event an inner event? [true/false] current item current row [number] Formtype of the current form (only for FormData Events) Has the value of the field been changed? [true/false] ID of the business object on which the event hast been triggered (only for FormData Events). When you choose an entry from a list, the PopUpIndicator contains the selected row number (starting at 0). On the Sales Quotation (Modules > Sales - A/R > Sales Quotation) you choose Copy To and from the list that appears you select the second line (Delivery). In this case, the value in the variable pVal.PopUpIndicator is "1", because you have selected the second row. At the end of the query, you must return a Boolean value ("return true" or "return false"). This value decides if the validation is successful or not. "false" means that the validation failed and that SAP Business One cancels the initiated action. If you use global variables or classes (see Extended Code), you can of course use these here.

CORESUITE CUSTOMIZE

151

4.4.1.2.2

Regular expression editor (RegEx Editor)

With the Regular expression editor you can edit REGEX queries. Access Open the Optimizer (Modules > Administration > Add-Ons > coresuite customize > Optimizer) and click on the orange arrow in the column Expression. You can only open this editor if in column Type the value is REGEX. Window

Fields Templates Expression Here you can choose a template from the drop-down list. If you do so, the field Expression will be filled automatically. Here you can write your own expression. load a template by choosing a template from the Templates drop-down list. Here you can enter an example value and then check if the expression is correct. After entering a value under Example value, you can choose Test expression to check if the example value matches the expression.

Example value Test expression

Procedure 1. Select a template from the drop-down list under Templates. 2. In the field Expression, the relevant REGEX query appears. 3. Enter an example for the selected template in the field Example value. 4. Choose Test expression to check if the value in the field Example value matches the expression.

Example Choose the template Email. Because you have chosen the template Email, the following expression appears here: ^\w+([-+.']\w+) *@\w+([-.]\w+)*\.\w+([-.]\w+)*$. Enter an e-mail address, e.g. john.mason@gmail.com. Choose Test expression. The status bar displays the message "Regular expression matches". If under 3. you had entered an invalid e-mail address, e.g. john.masongmail.com, the status bar would have displayed the message "Regular expression does not match".

CORESUITE CUSTOMIZE

152

4.4.1.2.3

coresuite customize SQL editor

With the coresuite customize SQL editor you can edit SQL queries. Access Open the Optimizer (Modules > Administration > Add-Ons > coresuite customize > Optimizer) and click on the orange arrow in the column Expression. You can only open this editor if in column Type the value is SQL. Window

Fields [Ctrl + S] [Ctrl + P] Save the code Print the code Not available in coresuite customize SQL editor [Ctrl + Z] Undo the last change Redo the last change [Ctrl + F] Search the code Not available in coresuite customize SQL editor Procedure Unlike with the other editors, in coresuite customize SQL editor you can define parameters. If, for example, you want to use the CardCode of the form (e.g. Business Partner Master Data) in the SQL query, you can use the following syntax: [%G;4] For more information on choosing parameters, please refer to Reading parameters.

CORESUITE CUSTOMIZE

153

If a value is validated, (i.e. if in the Optimizer you have selected VALIDATE in the column Action for the rule), the validation only fails if the value NULL or no value is returned; any other outcome is regarded as successful.

CORESUITE CUSTOMIZE

154

4.4.2

Item Placement

In the form coresuite customize: Item Placement you can create new rules or edit existing rules to move items, to make them invisible, to change their size, etc. The form mainly consists of a list. In this list, each line corresponds to a rule and each column corresponds to a property of the rule. Below, the columns are explained in detail. For examples of Item Placement rules, please refer to the coresuite customize Reference manual. Access Modules > Administration > Add-Ons > coresuite customize > Item Placement Window

Fields Active Description Checkbox active: The rule is active. Checkbox inactive: The rule is not active. Enter the description for the rule. If you use the Wizard (Modules > Add-Ons > coresuite customize > Enable Wizard/Disable Wizard), the system creates the description automatically and adds "by wizard" to the description. Enter the formtype of the item that you would like to modify. If you enter several formtypes, separate them with commas. Enter the UID of the item that you want to move. Enter the ID of the reference element. You can find the ID in the system information. To activate the system information, go to View > System Information. The following information (Left, Top, Width, Height) relates to the coordinates of this reference item. Enter the horizontal distance to the reference item in pixels. If you enter a positive value, the item appears to the right of the reference item. If you enter a negative value, the item appears to the left of the reference item. If you have not indicated a reference item, this value represents the horizontal distance

Form Type ItemUID Reference Item

Left

CORESUITE CUSTOMIZE

155

to the left edge of the window. Top Enter the vertical distance to the reference item in pixels. If you enter a positive value, the item appears above the reference item. If you enter a negative value, the item appears below the reference item. If you have not indicated a reference item, this value represents the vertical distance to the top edge of the window. Enter the width of the item in pixels. Enter the height of the item in pixels. Enter the From Pane of the item that you want to move (see PaneLevel). Enter the To Pane of the item that you want to move (see PaneLevel). Here you can define the order in which the tab should go through the fields ("0" for the first field, "1" for the second field, etc.). If you do not define an order, the system will chose one. Enter the font size for the text. Choose the style for the text. You can choose from the following options: Plain Bold Italic Underline StrikeOut Shadow Condense Extend Checkbox active: The item is invisible (i.e. it will not appear). Checkbox inactive: The item is visible. Deprecated - Please no longer use Define if you want to change the values in XML or in the code (with XML, the performance is higher, but it does not always work). Activate the checkbox if you want to change values in the code. Do not activate the checkbox if you want to change values in XML. Every rule can be assigned to user groups. Click on the orange arrow and activate the checkbox for the relevant user groups. For more information, please refer to Authorizations. Choose Add row to add a new row. Choose Delete to delete a row. Choose Item Info On, then click on the item for which you want to see the information. The relevant information (height, length, position, etc.) will appear in the status bar. Activate this checkbox if you want the item to move accordingly (i.e. in relation to the other elements) when you resize the window. If you do not activate this checkbox, the item will not move when you resize the window. In some cases it might be hidden by another field when you resize the window. For windows with several customized items, this option can decrease performance, i.e. it might take a while for all items to display correctly after resizing the window. By right-clicking on a row, the option Duplicate Row also becomes available. Changes only become effective after you choose Update.

Width Height From PaneLevel To PaneLevel TabOrder

Font Size Font Style

Invisible Disabled RunAsCode

Authorization

Add row Delete row Item Info On Use Resize event

CORESUITE CUSTOMIZE

156

The values in the columns Invisible and Disabled can only be changed from "false" to "true". A " disabled" item cannot be set to "active". These values are active the first time you open the form; as soon as SAP takes over again (e.g. when you change to another data record), SAP overwrites these settings with the default values. If you do not want to change a property (Left, Top, Width, Height, From PaneLevel, To PaneLevel, TabOrder), you can leave the relevant field empty. The current values will be left unchanged. The values for Left, Top, Width and Height can also be changed using "+" and "-". This then changes the old value by the new value.

CORESUITE CUSTOMIZE

157

4.4.3

Function Button

In the form coresuite customize: Function Button you can create new rules or edit existing rules to add a function to the Function button. The form mainly consists of a list. In this list, each line corresponds to a rule and each column corresponds to a property of the rule. Below, the columns are explained in detail. For examples of Function Button rules, please refer to the coresuite customize Reference manual. Access Modules > Administration > Add-Ons > coresuite customize > Function Button Window

Fields Active Description Type Checkbox active: The rule is active. Checkbox inactive: The rule is not active. Enter the description for the rule. Select the function type from the drop-down list. You can choose from the following options: CSCODE - c# code VBCODE - Visual Basic code SHELL - Shell command (like commando line) Enter the name of the function. This is the name that appears when the user chooses Functions. Use parameters if you want this text to be in multilingual format. The syntax for this is the same as in coresuite designer. For more information, please refer to the coresuite customize reference manual under Translation parameters. This is the formtype on which you want to place the Functions button. If you enter several formtypes, separate them with commas. Enter the path for a picture (JPG or BMP, 16x16 pixels) that you want to appear in the right-click menu.

Name

Form Type PicturePath

CORESUITE CUSTOMIZE

158

No Button

Checkbox active: The function will not appear on the Functions button. The function is only available in the right-click menu. Checkbox inactive: The function appears on the Functions button. If there are several functions for the same formtype, you must activate No Button for all of them, otherwise the Functions button will appear regardless.

Position

Here you can define the order in which the tab should go through the fields ("0" for the first field, "1" for the second field, etc.). If you do not define an order, the system will chose one. To edit the function in the relevant editor, click on the orange arrow or double-click on the row header (also see Editors). Every rule can be assigned to user groups. Click on the orange arrow and activate the checkbox for the relevant user groups. For more information, please refer to Authorizations. Choose Add row to add a new row. Choose Delete to delete a row.

Expression Authorization

Add row Delete row

By right-clicking on a row, the option Duplicate Row also becomes available. Changes only become effective after you choose Update. The Functions button appears to the right of the Cancel button (the Cancel button usually has the ID "2"). If this space is already taken, or if you would like to place the Functions button somewhere else, you can move it using the Item Placement module (see Item Placement).

CORESUITE CUSTOMIZE

159

4.4.4

New Items

In the form coresuite customize: New Items you can create new rules or edit existing rules to add new items, such as text fields, drop-down lists, multiline text boxes and checkboxes. The form mainly consists of a list. In this list, each line corresponds to a rule and each column corresponds to a property of the rule. Below, the columns are explained in detail. For examples of New Items rules, please refer to the coresuite customize Reference manual. Access Modules > Administration > Add-Ons > coresuite customize > New Items Window

Fields Active Item Type Checkbox active: The rule is active. Checkbox inactive: The rule is not active. Select the item type from the drop-down list. You can choose from the following options: TEXTEDIT - normal text field COMBOBOX - drop-down list EXTENDEDTEXT - multiline text field CHECKBOX - checkbox Enter the description for the item. This is the formtype on which you want to place the item. If you enter several formtypes, separate them with commas. Enter a UID for the item. The UID must not exceed 8 characters. If you do not enter a UID, the system issues an error message. Enter the name of the table in which you want to save the value of the item. Enter the name of the table column in which you want to save the value of the item. Enter the ID of the reference element. You can find the ID in the system information. To

Name Form Type ItemUID Table name Column name Reference Item

CORESUITE CUSTOMIZE

160

activate the system information, go to View > System Information. The following information (Left, Top, Width, Height) relates to the coordinates of this reference item. Description Enter the description of the item that should appear on the form. Use parameters if you want this text to be in multilingual format. The syntax for this is the same as in coresuite designer. For more information, please refer to the coresuite customize reference manual under Translation parameters. Define the length of the label that proceeds the item (in pixels). Enter the horizontal distance to the reference item in pixels. If you enter a positive value, the item appears to the right of the reference item. If you enter a negative value, the item appears to the left of the reference item. If you have not indicated a reference item, this value represents the horizontal distance to the left edge of the window. Enter the vertical distance to the reference item in pixels. If you enter a positive value, the item appears above the reference item. If you enter a negative value, the item appears below the reference item. If you have not indicated a reference item, this value represents the vertical distance to the top edge of the window. Enter the width of the item in pixels. Enter the height of the item in pixels. Enter the To Pane of the item that you want to move (see PaneLevel). Here you can define the order in which the tab should go through the fields ("0" for the first field, "1" for the second field, etc.). If you do not define an order, the system will chose one. Checkbox active: If you adjust a value, the form mode changes from OK to Update. Checkbox inactive: The OK mode will remain, even if you make changes. Checkbox active: The item is invisible (i.e. it will not appear). Checkbox inactive: The item is visible. Indicates if the item can be edited or not. If you want to add an orange arrow (a so-called linked button), enter here the number to which the arrow refers. For more information, and for a list of some of the available linked object types, please refer to the coresuite customize reference manual under LinkedObjectType. If you do not enter anything here, no orange arrow will appear. Enter an SQL query if the system should display a ChooseFromList when the user presses the tab key in the relevant field. The value that is written back into the field must be defined as "VALUE". Example: If you enter the query "SELECT ItemCode AS VALUE, ItemName AS Description FROM OITM", the system displays a list of all items and writes back the code of the selected item into the field. It is possible to read the parameter from the form (also see Reading parameters and Editors). Authorization Every rule can be assigned to user groups. Click on the orange arrow and activate the checkbox for the relevant user groups. For more information, please refer to Authorizations. Choose Item Info On, then click on the item for which you want to see the information. The relevant information (height, length, position, etc.) will appear in the status bar. Choose Add row to add a new row.

Description Length Left

Top

Width Height To PaneLevel TabOrder

From PaneLevel Enter the From Pane of the item that you want to move (see PaneLevel).

Affects Form Mode Invisible Disabled Linked Object Type

Query

Item Info On New row

CORESUITE CUSTOMIZE

161

Delete row

Choose Delete to delete a row.

By right-clicking on a row, the option Duplicate Row also becomes available. Changes only become effective after you choose Update. With Table name and Column name you can reference data from UDFs. However, it is not possible to display system data in two places.

CORESUITE CUSTOMIZE

162

4.4.5

New Menu

In the form coresuite customize: New Menu you can create new rules or edit existing rules to create new menu points/menu structures. The form mainly consists of a list. In this list, each line corresponds to a rule and each column corresponds to a property of the rule. Below, the columns are explained in detail. For examples of New Menu rules, please refer to the coresuite customize Reference manual. Access Modules > Administration > Add-Ons > coresuite customize > New Menu Window

Fields Active Description Menu name Checkbox active: The rule is active. Checkbox inactive: The rule is not active. Enter the description for the new menu item. Enter the name of the menu point that should appear in the menu structure. Use parameters if you want this text to be in multilingual format. The syntax for this is the same as in coresuite designer. For more information, please refer to the coresuite customize reference manual under Translation parameters. Enter the UID of the menu point. If you do not enter a unique ID, the system will issue an error message. The UID must consist of no more than 10 characters. Enter the menu UID of the parent item. If you define several menu entries for the same level, you can define in which order they should appear ("0" for the first menu point, "1" for the second menu point, etc.). If you do not define an order, the system will chose one. Enter the path for a picture (JPG or BMP, 16x16 pixels) that you want to appear in the right-click menu.

Menu UID Parent Position

PicturePath

CORESUITE CUSTOMIZE

163

Menu type

Select the menu type from the drop-down list. You can choose from the following options: String - Normal menu point; you can add functions to this menu type. PopUp - Menu folder, sub-menu for other menu points; you cannot add functions. Seperator - Dividing line, used to group menu points. Select the function type from the drop-down list. You can choose from the following options: CSCODE - c# code sequence VBCODE - Visual Basic code sequence SHELL - Shell command (like command line) To edit the function in the relevant editor, click on the orange arrow or double-click on the row header (also see Editors). Every rule can be assigned to user groups. Click on the orange arrow and activate the checkbox for the relevant user groups. For more information, please refer to Authorizations. Choose Add row to add a new row. Choose Delete to delete a row.

FunctionType

Expression Authorization

New row Delete row

By right-clicking on a row, the option Duplicate Row also becomes available. Changes only become effective after you choose Update.

CORESUITE CUSTOMIZE

164

4.4.6

Extended Code

For simple tasks you can, as described in Optimizer, execute code in a relatively simple method. However, for more complex tasks, this often is not enough. For more complex tasks it is better to use the menu point Extended Code. Here you can define global variables and classes, which you can use in the modules Optimizer, Function Button and New Menu. Since the code is managed in one place only, you can reduce effort and also the number of errors. Furthermore, you can define so-called "usings", i.e. abbreviations, so you do not need to type the entire namespace every time you want to use the code. For more information on the code, please refer to Basic skills - Code. Access Modules > Administration > Add-Ons > coresuite customize > Extended Code Window

Fields Using/Import statements Global methods and variables Execute in debug mode Define the abbreviation for the namespace. Enter the global code. This code is managed centrally, i.e. you only need to adapt it once and then you can use it in the modules Optimizer, Function Button and New Menu. Activate the checkbox if you want the editor to issue an error message including error code in the case of runtime errors. We recommend you only use this function for test systems. Code type Select the code type from the drop-down list. You can choose from the following options: CSHARP VB (Visual Basic) It is not possible to access CSHARP code from VB code and vice versa. Reload Rules If you choose this, the system reloads all code rules and ensures that it always uses the latest versions.

Procedure 1. Double-click on the field Using/Import statements or on the field Global methods and variables or choose Edit. 2. The editor opens (see Editors). 3. Edit the relevant code sequences. 4. Save your changes, close the editor and close the window Extended Code by choosing OK.

CORESUITE CUSTOMIZE

165

4.4.7

Export / Import

4.4.7.1

Export Rules

In the form coresuite customize: Export you can export coresuite customize rules. All rules are written into one file (file with the extension *.cocu). Access Modules > Administration > Add-Ons > coresuite customize > Import / Export > Export Rules Window

Fields Type This column indicates in which module you can find the rule: Optimizer Item Placement Function Button New Items New Menu Extended Code This column displays the name of the rule. Activate this checkbox for all the rules that you want to export.

Name Export

CORESUITE CUSTOMIZE

166

Procedure 1. Activate the checkbox behind the rules that you want to export. 2. Choose Export. 3. Choose a name for the file and save it in the desired location. 4. A message confirms how many rules have been exported. Click on the column header Export to select/deselect all rules at the same time.

CORESUITE CUSTOMIZE

167

4.4.7.2

Import Rules

In the form coresuite customize: Import you can import rules that have been exported previously (e.g. by another user) or import example rules. The file to import is a *.cocu file. Access Modules > Administration > Add-Ons > coresuite customize > Import / Export > Import Rules Window

Fields Import [button] Examples Delete Rules Import [column] Overwrite Opens a dialog box in which you can select the *.cocu file that you want to import. Imports the selected rules into the database. Choose Examples to re-import coresuite customize example rules. For more information, please refer to Import Example Rules. Choose Delete Rules to delete the old rules. For more information, please refer to Delete Rules. Activate the checkbox for the rules that you want to import. Activate the checkbox for the rules that you want to overwrite with the new rule if the new rule has the same name as the existing rule.

CORESUITE CUSTOMIZE

168

Procedure for importing *.cocu files 1. Enter the path to the location where the *.cocu file is saved and open the file. A system message appears, asking you if you want to activate all rules, deactivate all rules or load all rules with presettings: All active - All rules are active. All inactive - All rules are inactive. Choose this option if you import several rules and then want to activate them individually to make sure that they work. Presettings - All rules are loaded with presettings: If another user has exported the rules as "active" and you choose the option Presettings, the rules will be imported as active. (If you only import example rules, the presetting is "inactive", i.e. all rules are loaded as inactive.) Example: A user exports rules A, B and C; with A and B being active and C being inactive. When you import this file, rules A and B are loaded active and rule C is loaded inactive. 2. Select the relevant option. The rules from the *.cocu file then appear in the window coresuite customize: Import. 3. If there is already a rule with the same name, activate the relevant checkbox in the column Overwrite. The old rule will then be overwritten with the new rule with the same name. 4. Choose Import to import the rules. The rules are available immediately; there is no need to restart the addon. 5. A message confirms how many rules have been imported and deleted (overwritten). Click on the column header Import or Overwrite to select/deselect all rules at the same time.

CORESUITE CUSTOMIZE

169

4.4.7.2.1

Import Example Rules (Examples)

If you would like to set example rules back to their initial settings (e.g. if you have amended them, or if they no longer work), just re-import the example rules and overwrite the existing example rules. If you install coresuite country package for the first time, the example rules are installed automatically. However, they are all set to inactive, i.e. you must first activate them to be able to use them. To activate one or several rules, proceed as follows: 1. Go to the relevant module (Optimizer, Item Placement, etc.) 2. Activate the checkbox in the column Active for the relevant rule(s). 3. Choose Update. A list of all example rules is available under Installed example rules. Access Modules > Administration > Add-Ons > coresuite customize > Import / Export > Import Rules > Examples Procedure 1. Choose Examples. 2. A new system message appears, asking you if you want to set all rules to active / inactive or if you would like to load them with presettings. All active - All rules are active. All inactive - All rules are inactive. Presettings - All rules are loaded with presettings: If another user has exported the rules as "active" and you choose the option Presettings, the rules will be imported as active. (If you only import example rules, the presetting is "inactive", i.e. all rules are loaded as inactive.) Example: A user exports rules A, B and C; with A and B being active and C being inactive. When you import this file, rules A and B are loaded active and rule C is loaded inactive. 3. Select the relevant option.

4. The window coresuite customize: Import now lists all example rules. Activate all rules in the column Import that you want to import. 5. If a rule with the same name already exists, activate the checkbox in the column Overwrite. Only then will

CORESUITE CUSTOMIZE

170

the old rule be overwritten with the new one.

6. Choose Import to import the selected rules. 7. A message confirms how many rules have been imported and deleted (overwritten).

CORESUITE CUSTOMIZE

171

4.4.7.2.2

Delete Rules

With this function, you can permanently delete all rules for a certain module. Access Modules > Administration > Add-Ons > coresuite customize > Import / Export > Import Rules > Delete Rules Procedure 1. Go to Modules > Administration > Add-Ons > coresuite customize > Import / Export > Import Rules and choose Delete Rules. 2. The window coresuite customize: Delete appears.

3. Activate the coresuite customize module(s) for which you want to delete the rules. You can choose from the following options: Optimizer Item Placement Function Button New Items Extended Code New Menu 4. Activate one or more checkboxes and choose Delete. This deletes all rules for the selected module(s).

CORESUITE CUSTOMIZE

172

4.4.8

Import Excel rows to UDT

With this function, you can transfer data from an Excel table into a user-defined table (UDT). Access Modules > Administration > Add-Ons > coresuite customize > Import / Export > Import Excel rows to UDT Window

Fields Choose a UDT Rollback on error From the drop-down list, select the table to which you want to add the data from the Excel file. Checkbox active: If an error occurs during the import process, the system cancels the import process and discards all data imported so far. Checkbox inactive: The system imports data row by row. If an error occurs, the system cancels the import procedure. The data imported so far remains in the table. Checkbox active: Existing values will be overwritten. Checkbox inactive: Existing values will not be overwritten. Indicates the ID of the SAP table.

Overwrite table AliasID

CORESUITE CUSTOMIZE

173

The description of the columns in the Excel file must match this ID; otherwise the system will not be able to recognize the columns to be imported. Description TypeId Indicates the column header that will appear in the SAP table. Indicates the format of the relevant column in the SAP table. The format of the column in the Excel table must have the same format; otherwise the system will not be able to import the data. Opens a dialog box in which you can select the *.xml file you want to import. Choose Import .xls file to import the selected file.

Browse .xls file Import .xls file

Procedure (illustrated by an example) Scenario You want to import the following data from an Excel file into the UDT: Country, Zip, City, StateName and State.

1. Select the target table from the Choose a UDT drop-down list. 2. Rollback on error Here you can define how the system should proceed if an error occurs (e.g. if the data format in the Excel file does not match the format in the table). Checkbox active: If an error occurs during the import process, the system cancels the import process and discards all data imported so far. Checkbox inactive: The system imports data row by row. If an error occurs, the system cancels the import procedure. The data imported so far remains in the table. 3. After selecting the table, the window Import Excel rows to UDT displays the columns of this table. 4. Choose Browse .xls file and enter the path to the Excel file from which you want to import data. 5. Choose Import .xls file. The system checks which columns from the Excel file can be imported. 6. If the system found matching columns, it highlights the relevant rows in the window Import Excel rows to UDT and issues a message asking you if you want to import this data. Choose Yes to start the import process or choose Cancel if you do not want to import the columns.

CORESUITE CUSTOMIZE

174

The maximum number of rows in a UDT is 100,000,000 rows. For the import to work, the columns to be imported must have the same name as the columns of the SAP table (AliasID). Furthermore, the format (TypeId) must be the same in the SAP table and in the Excel file.

CORESUITE CUSTOMIZE

175

4.4.9

UDT Handler

With the UDT Handler, you can easily add data to existing UDTs. Thanks to parameters, most fields can be pre-filled automatically, so that you will have to spend less time on filling in the UDT. The main advantage of the UDT Handler is that you will no longer have to spend time on UI creation. Compared to the SAP standard, it is possible to filter/limit data on the resulting UDT UI. Access Modules > Administration > Add-Ons > coresuite customize > UDT Handler Window

In the general area of the UDT Handler, you can see the following two fields: User defined Table Form Title Select the user-defined table from the drop-down list. Enter the title you want to appear on the form. When you right-click in this field, you can go to Insert Parameter and select the relevant parameter. The system then automatically enters it in the correct format. For more information, refer to Practical example 3. The data on the tabs General and Fields are described on the following pages.

CORESUITE CUSTOMIZE

176

4.4.9.1
Window

General

Fields Parameters ... Parameter Description In this table, you can define the parameters. When you choose this field, a ChooseFrom list will appear where you can select the relevant parameter. Enter a description for the parameter. This is the description that is displayed when the UDT will be opened form a menu. You can enter: Free text Placeholders (e.g. [@T000002]), in square brackets, if you want the description to be multi-lingual (see Translation parameters for more information). Key | ItemId | MatrixId This will be filled automatically.

Parameter Expression Here you can enter a default value for designing purposes. You can enter the following formats: Drop-down list - a list with two columns in square brackets or a query in square brackets that returns a list [1;Option 1;2;Option 2;3;Option 3] CFL - a list with two columns in curly brackets or a query in curly brackets that returns a list {SELECT CardCode,CardName FROM OCRD ORDER BY [%ordercolumn] [%

CORESUITE CUSTOMIZE

177

order]} Default values - Text, number or SQL query that returns a value. Filter (Where Clause) Here you can enter a WHERE clause that filters your UDT data by using parameters. When you right-click in this field, you can go to Insert Parameter and select the relevant parameter. The system then automatically writes it in the correct format in your clause. For more information, refer to Practical example 3. Form Type Enter the ID of the form type from where you want to start the UDT, e.g. "139" if you want to trigger it from Sales Orders. You can find out the ID in the system information in the status bar. To activate the system information, go to View > System Information. Enter the name for the menu entry as it should appear in the right-click menu. Enter a menu ID. This is a mandatory field if you want to start the UDT from the menu. From the drop-down list, select the menu point under which you want the UDT to appear. Define a unique form type ID for the UDT. This form type can then be used in customize rules or other UDT Handler rules, for example. Supported Functionality Here you can define what the user can do on this UDT. Just select the relevant checkboxes: Add Update Delete By default, all boxes are selected.

Menu name Menu UID Parent Resulting Form Type

CORESUITE CUSTOMIZE

178

4.4.9.2
Window

Fields

Fields Field This is the name of the field as defined in the User-Defined Tables - Setup (Tools > Customization Tools > User-Defined Tables - Setup). For more information, please refer to Practical example 3. Activate this checkbox if you want the field to be visible. Activate this checkbox if you want the field to be editable. Enter the title for the field. Here you can also use the placeholders (e.g. [@T000002]), if you want the title to be multi-lingual (see Translation parameters for more information). Enter the position for the field. The higher the number, the further to the right the field will appear. Here you can enter the ID of a table that you want to link to, e.g. OCRD for the Business Partner table or @COR_UDT if it is a UDT (for UDTs, you must include the "@"). Enter the ID of the value you want to display, e.g. CardCode for the Code of the Business Partner. Enter the ID of the description you want to display, e.g. CardName for the Name of the Business Partner.

Visible Editable Title

Pos Linked Table

Value Description

CORESUITE CUSTOMIZE

179

Type

The following options are available: ComboBox ChooseFromList

CORESUITE CUSTOMIZE

180

4.5

Right-click menu / Wizard

With coresuite customize, tailoring SAP Business One to your needs becomes fast and easy. coresuite customize enables you to hide, color, lock and move fields, define them as mandatory fields, etc. These functions are available via the right-click menu. For the coresuite customize right-click menu to appear, you must activate the coresuite customize wizard. To do so, go to Modules > Administration > Add-Ons > coresuite customize > Enable Wizard. To deactivate the coresuite customize right-click menu, go to Modules > Administration > Add-Ons > coresuite customize > Disable Wizard. The right-click menu is only available to SAP superusers.

The following chapters outline the individual functions of the right-click menu: Add CFL Hide field Color field Lock field Make field mandatory Add folder Move Field Copy UDF to main window

CORESUITE CUSTOMIZE

181

4.5.1

Add CFL

Goal You want to change a field so that the user can no longer enter free text but has to choose a value from a list. Solution Use the coresuite customize function Add CFL to add a so-called ChooseFromList (CFL) to a field. Procedure Right-click on the relevant field and choose coresuite customize > Add CFL.

The window Please enter parameter appears.

CORESUITE CUSTOMIZE

182

Fields Query Enter the SQL query. The results of this query will appear in the CFL from where you can then select the relevant value. Example: "SELECT ItemCode, ItemName FROM OITM" Write back column This is the column from which the value is written back into the original field. Example: ItemCode The system closes the window and reopens it. When you now press the Tab key, the CFL appears.

Select an entry and choose Choose or double-click on the relevant entry. Remove CFL If you want to remove the CFL, just right-click on the relevant field and choose coresuite customize > Remove CFL. Close the window and open it again for the changes to become effective.

CORESUITE CUSTOMIZE

183

4.5.2

Hide field

Goal You want to hide a certain field. Solution Use the coresuite customize function Hide field. Procedure Right-click on the relevant field and choose coresuite customize > Hide field.

The system issues a message, asking you if you also want to hide the label for the field. Choose Yes if you want to hide the label too. Choose No if you do not want to hide the label.

The changes become effective immediately.

CORESUITE CUSTOMIZE

184

Show hidden fields To show hidden fields again, right-click on the empty area on the form and choose Show hidden fields. Choose Show all fields or select only the field that you want to be displayed again. The changes become effective immediately.

CORESUITE CUSTOMIZE

185

4.5.3

Color field

Goal You want to highlight a certain field or the label of a field. Solution Use the coresuite customize function Color field to highlight the field or the label in a certain color. Procedure Right-click on the relevant field or label and choose coresuite customize > Color field.

A color picker appears. Choose the color you want and choose OK.

CORESUITE CUSTOMIZE

186

The highlight appears immediately.

Reset color To remove the highlight again, right-click on the colored field/label and choose coresuite customize > Reset color. The changes become effective immediately.

CORESUITE CUSTOMIZE

187

4.5.4

Lock field

Goal You want to lock a certain field, so that the user cannot enter any data. You only want the field to be available in the Add mode. Solution Use the coresuite customize function Lock field. Procedure Right-click on the relevant field and choose coresuite customize > Lock field.

For the first field that you lock, the window Please choose parameter appears. In the field Warning Text, enter the text that should appear in the status bar when the user clicks on a locked field. This text is the same for all locked fields. Choose a text that applies to all fields, e.g. "This field is locked" (rather than "The field 'Status' is locked"). The field is locked as soon as you reopen the form. Unlock field To unlock the field, right-click on the relevant field and choose coresuite customize > Unlock field. Close the window and reopen it for the change to appear.

CORESUITE CUSTOMIZE

188

4.5.5

Make field mandatory

Goal You want to mark a field as a mandatory field. Solution Use the coresuite customize function Mak e field mandatory. Procedure Right-click on the relevant field and choose coresuite customize > Mak e field mandatory.

The window Please enter parameter appears. In the field Warning Text, enter the text that you want to appear when the user forgets to fill in this field. The warning will appear in a pop-up box. Reset mandatory field To convert the mandatory field back into a normal field, right-click on the relevant field and choose coresuite customize > Reset mandatory field. The changes become effective immediately.

CORESUITE CUSTOMIZE

189

4.5.6

Add folder

Goal You want to add a tab to a form (e.g. to display UDFs on the main form or to add additional information). Solution Use the coresuite customize function Add folder. Procedure Right-click on an existing tab and choose coresuite customize > Add folder.

The window Please enter parameter appears. In the field Folder Name add the text that should appear in the tab and choose OK. The system closes the window and reopens it. The new tab now appears on the form.

CORESUITE CUSTOMIZE

190

Remove folder To delete the tab, right-click on the tab and choose Remove folder. The changes become effective immediately. The number of tabs that can be added is limited. Tabs cannot be added on all SAP windows.

CORESUITE CUSTOMIZE

191

4.5.7

Move Field

Goal You want to place an existing system field (e.g. a text field or a drop-down list from SAP) at a new position. Solution Use the coresuite customize function Move Field. Procedure Right-click on the relevant field and choose coresuite customize > Move field.

The window Please enter parameter appears. Enter the relevant data.

Fields Reference Item Enter the ID of the field that you want to be the reference item for the field to be moved. Example: If you want the field Document Date on the A/P Credit Memo (Modules > Purchasing - A/P > A/P Credit Memo) to become the reference item, enter "46" as the reference item, since Document Date has the ID 46. You can find this ID in the system information in the status bar. To activate the system information, go to View > System

CORESUITE CUSTOMIZE

192

Information. Position Indicate the position of the field to be moved in relation to the reference item. You can choose from the following options: Exact - The field will be placed exactly at the position of the reference item. If you enter a factor in the next field it will be ignored. Above the reference item - The field will be placed above the reference item. You can define the factor in the next field. Below the reference item - The field will be placed below the reference item. You can define the factor in the next field. If in the previous field you have chosen Above the reference item or Below the reference item, you can define the distance in this field. Example: If you select "Factor 3" from the drop-down list, the distance between the reference field and the moved field will be three times the height of the moved field. Visibility Define the visibility of the moved field. You can choose from the following options: Always - The UDF is always visible, regardless of which tab is active. Only on current folder - The UDF is only visible on the tab that is active. If you go to another tab, the field will not appear.

Factor

Choose OK. The system closes the window and reopens it again. The field now appears at the new position.

CORESUITE CUSTOMIZE

193

Set field back to standard position To set the field back to the original position, right-click on the moved field and choose coresuite customize > Set field back to standard position. The system closes the window and reopens it. The field now appears at its original position.

CORESUITE CUSTOMIZE

194

4.5.8

Copy UDF to main window

Goal You want to display a UDF (user-defined field) on the form. Solution Use the coresuite customize function Copy UDF to main window. Procedure Open the relevant form and activate the user-defined fields. To do so, go to View > User-Defined Fields. Right-click on the field that you want to display on the form and choose coresuite customize > Copy UDF to main window.

The window Please enter parameter appears. Enter the relevant data.

CORESUITE CUSTOMIZE

195

Fields Description Enter the description (label text) that should appear next to the field. Use parameters if you want this text to be in multilingual format. The syntax for this is the same as in coresuite designer. For more information, please refer to the coresuite customize reference manual under Translation parameters. Enter the ID of the field that you want to be the reference item for the field to be moved. Example: If you want the field Owner on the Sales Quotation (Modules > Sales A/R > Sales Quotation) to become the reference item, enter "230" as the reference item, since Owner has the ID 230. You can find this ID in the system information in the status bar. To activate the system information, go to View > System Information. Position Indicate the position of the field to be moved in relation to the reference item. You can choose from the following options: Exact - The field will be placed exactly at the position of the reference item. If you enter a factor in the next field it will be ignored. Above the reference item - The field will be placed above the reference item. You can define the factor in the next field. Below the reference item - The field will be placed below the reference item. You can define the factor in the next field. If in the previous field you have chosen Above the reference item or Below the reference item, you can define the distance in this field. Example: If you select "Factor 3" from the drop-down list, the distance between the reference field and the moved field will be three times the height of the moved field. Visibility Define the visibility of the moved field. You can choose from the following options: Always - The UDF is always visible, regardless of which tab is active. Only on current folder - The UDF is only visible on the tab that is active. If you go to another tab, the field will not appear.

Reference Item (Label)

Factor

Choose OK. The system closes the window and reopens it. The changes are now visible.

CORESUITE CUSTOMIZE

196

Remove UDF from main window To remove the UDF, right-click on the relevant field and choose coresuite customize > Remove UDF from main window. The system closes the window and reopens it. The UDF no longer appears on the form.

CORESUITE CUSTOMIZE

197

4.6
4.6.1

coresuite customize reference guide


Authorizations

This section provides supplemental information and some practical examples.

For each user, you can activate/deactivate each rule of each module. This means that you can enable certain rules for certain users and disable them for others. To make this process easier, we recommend you create user groups. You can create them in Modules > Administration > System Initialization > Authorizations > General Authorizations. For more information, please refer to the official SAP Business One documentation. Access Modules > Administration > System Initialization > Authorizations > General Authorizations In the window Authorizations, the coresuite modules appear under User Authorizations. This is where you can manage the authorizations for the coresuite modules. Window

Authorizations are defined per user. Superusers can give all users the same authorizations or enable/disable certain modules and rules for certain users only. Authorizations for superusers cannot be changed. For more information, please refer to Defining Authorizations in the SAP Business One documentation: http://help.sap. com/saphelp_sbo88/helpdata/en/45/070defe02641dfe10000000a1553f6/frameset.htm We recommend to classify users into logical groups, e.g. Financial Administration = Group 1, Warehouse = Group 2, Production = Group 3, Back Office = Group 4, etc. After defining these groups, you can enable/disable all rules of all modules (Optimizer, Item Placement, Function Button, New Items, New Menu) for the relevant groups. The default setting is that all existing rules (or rules for which you have not changed any authorizations) are active for all groups, i.e. that all user groups can access these rules.

CORESUITE CUSTOMIZE

198

CORESUITE CUSTOMIZE

199

4.6.2

Basic skills - Coding

This chapter provides some examples for programming with C# with the aim of making it easier for you to work with coresuite customize. For more information on programming with SAP Business One, please refer to the official SAP Developer Homepage (sdn.sap.com). To obtain the SAP Business One SDK objects, copy the following rules:
' VB .Net Dim application As SAPbouiCOM.Application = customize.B1Connector().Application Dim company As SAPbobsCOM.Company = customize.B1Connector().Company // C# SAPbouiCOM.Application application = customize.B1Connector.GetB1Connector().Application; SAPbobsCOM.Company company = customize.B1Connector.GetB1Connector().Company;

4.6.2.1

Matrix

In many cases, it is useful to run a calculation or validation on certain documents, e.g. to check that in a matrix all items have an item number. For this, you need a loop that runs through the entire list and checks that the data is complete. You can do this by using code. Below you can see the base model for such a loop. The example here is for the Sales Order. The matrix in the Sales Order (i.e. the item list) has the ID = 38.
Matrix m = Matrix.GetFromUID(pVal.Form, "38"); for(int i = 0; i < m.Rows.Count-1; i++) { // 2 slashes mean that this line will be ignored. You can use this to write comments // This code here is used for the number of rows in a list // Reading a value (item code) from a list and writing it in the variable "value" string wert = m.GetValue("1", i); // now the variable "value" contains the item code of the current row (i) and you can... }

CORESUITE CUSTOMIZE

200

4.6.2.2

Reading values

If you want to read a value from a form, you first need to know the type of the item that you want to read. In SAP Business One, there are the following item types: Name TextEdit ExtendedTextEdit ComboBox Description Normal text field Multiline text field Drop-down box Read value string value = TextEdit.GetFromUID(pVal.Form, "id"). Value; string value = ExtendedTextEdit.GetFromUID(pVal.Form, "id").Value; string value = ComboBox.GetFromUID(pVal.Form, "id"). Selected.Value; string description = ComboBox.GetFromUID(pVal.Form, "id").Selected.Description; string value = Matrix.GetFromUID(pVal.Form, "id"). GetValue("ColumnID", row number); bool checkmark = CheckBox.GetFromUID(pVal.Form, "id").Checked;

Matrix CheckBox

List Checkbox

After the value has been read, it appears in the variable "value". For the item CheckBox the system returns a Boolean value (Boolean = true or false). This value indicates if the checkmark is set (true) or not (false).

4.6.2.3

Creating items

With coresuite customize editor you can create any SAP item (text fields, checkboxes). The base model is the same for all items. However, it is possible to set specific attributes. Base model:
// Creating a new element (here: UID 'COR_TE1') TextEdit te1 = TextEdit.CreateNew("COR_TE1"); // Define position using a reference element (here: text field with the UID '4') te1.SetSizeAndPosition(TextEdit.GetFromUID(pVal.Form, "4")); te1.Top += 20; // Alternatively you can set the attributes individually te1.Top=125;te1.Width=100;te1.Left=5;te1.Height=20; // Setting additional attributes (depending on type. For details refer to the SAP SDK) te1.AffectsFormMode = false; te1.FromPane = 98; te1.ToPane = 98; // The new element must be added to the existing form (current form == pVal.Form) and must be refreshed pVal.Form.AddItems(te1); pVal.Form.Update();

CORESUITE CUSTOMIZE

201

4.6.2.4

Creating grids

To create a list of results from a query, you need a grid. The base model for a grid looks as follows:
try { // GRID, WILL CONTAIN THE VALUES TO DISPLAY Grid grid = Grid.CreateNew("COR_GR1"); grid.Width = 380; grid.Height = 260; grid.Top = 5; grid.Left = 5; // SAP FORM, WILL CONTAIN THE GRID Form form = Form.CreateNewForm("COR_CUS_SHOW1", "COR_CUS_SHOW1" + customize.Utils. UniqueStringGenerator.Next()); form.Height = 300; form.Width = 400; form.Top = pVal.Form.Top; form.Left = pVal.Form. Left; form.Value = "Results"; // ADD GRID TO THE FORM form.AddItem(grid); // LOAD FORM form.Load(); // YOUR QUERY string query= "SELECT ItemCode, ItemName FROM OITM"; // ATTACH QUERY TO GRID grid.ExecuteQuery(query); // SET COLUMNS NON EDITABLE (DISPLAY ONLY) grid.Columns["ItemCode"].Editable = false; grid.Columns["ItemName"].Editable = false; } catch(System.Exception ex) { MessageBox.Show("Unexpected error happend while trying to display the values of the query!\n" + ex.Message, "OK"); }

This code creates an SAP form with a list which is filled by the query (here: "SELECT ItemCode, ItemName FROM OITM"). Line
string query= "SELECT ItemCode, ItemName FROM OITM"; grid.Columns["ItemCode"]. Editable = false; grid.Columns["ItemName"]. Editable = false;

Description Query that is executed. Replace this query with your own. Sets the column ItemCode and ItemName to not editable. If you want your users to only be able to view the results, but not to change them, add this code to all the relevant columns.

You can add this function to a menu point (see New Menu) or to a Function button (see Function Button).

CORESUITE CUSTOMIZE

202

4.6.3

User-defined tables

coresuite customize creates user-defined tables (UDTs) in which the entered data is saved. To access these tables, go to Tools > User-Defined Windows. For coresuite customize, there are the following tables: COR_CUSTOM_FIELD COR_CUSTOM_FUNCB COR_CUSTOM_NEWITEMS COR_CUSTOM_NEWMENU COR_CUSTOM_GSCRIPT COR_CUSTOM_PLACE Optimizer Function Button New Items New Menu Extended Code Item Placement

We do not recommend to edit the data in these tables, because there is no validation mechanism if you open the tables by going to Tools > User-Defined Windows. Instead, we recommend to change the data in the coresuite customize modules.

CORESUITE CUSTOMIZE

203

4.6.4

Install external DLLs

With coresuite customize you can import external DLLs that have been compiled with .NET Framework 2.0. To import an external DLL correctly, proceed as follows: 1. Check .NET Framework version Make sure that the .DLL that you want to import has been compiled with .NET Framework 2.0. If you use MS Visual Studio you can check the version in the Solution Explorer properties.

If the .DLL has not been compiled with .NET Framework 2.0, compile it with .NET Framework.

CORESUITE CUSTOMIZE

204

2. Create installation structure Create a new folder and name it "COR_Customize". The name of the folder must be exactly the same (case-sensitive). Create a subfolder and call it "DLL". Save your .DLL in this subfolder. The structure should look as follows:

3. Creating the .sip file Convert the folder COR_Customize into a .zip file (right-click on the folder COR_Customize > Send To > Compressed (zipped) folder. You can rename the .zip file if you like. Then convert the .zip file into a .sip file by changing the extension from .zip to .sip.

You can now import this file into SAP Business One. To do so, go to Modules > Administration > Add-Ons > coresuite administration > Administration and import the file. For more information on how to install .sip files, please refer to the coresuite installation manual which is available for download from our website (www. coresystems.ch). Restart coresuite (Modules > Administration > Add-Ons > Add-On Manager, select the coresuite add-on, choose Stop, wait for a few seconds, then select the add-on again and choose Start). You can then find and use the imported .sip file in coresuite customize editor.

CORESUITE CUSTOMIZE

205

4.6.5

FormType

Each form, each window and each document in SAP Business One has a unique description, the so-called formtype. With the formtype you can define coresuite designer layoutdefinitions or coresuite customize rules for a function on a document or a form/window. You can determine the formtype by using the System Information. To activate the system information, go to View > System Information. If you now roll the mouse over the relevant form, you can see the information in the status bar, e.g. "Form=806". Here you can find a list of the most important forms and the corresponding formtypes: Financials Description Chart of Accounts Journal Entry Journal Vouchers Posting Templates Recurring Posting Exchange Rate Differences Conversion Differences Financial Report Templates Document Printing Opportunities Description Opportunity Sales - A/R Description Sales Quotation Sales Order Delivery Return A/R Down Payment Invoice A/R Invoice A/R Credit Memo A/R Reserve Invoice Purchasing - A/P Description Purchase Quotation Purchase Order Goods Receipt FormType 540000988 142 143 FormType 149 139 140 180 65300 133 179 60091 FormType 320 FormType 806 392 229 800 670 370 372 704 184

CORESUITE CUSTOMIZE

206

Description Return A/P Down Payment Invoice A/P Invoice A/P Credit Memo A/P Reserve Invoice Landed Costs Business Partner Description Business Partner Master Data Activity Inventory Description Item Master Data Goods Receipt Goods Issue Inventory Transfer Production Description Bill of Materials Production Orders Receipt from Production Issue for Production Service Description Service Call Customer Equipment Card Service Contract Solutions Knowledge Base Human Resources Description Employee Master Data

FormType 182 65301 141 181 60092 992

FormType 134 651

FormType 150 721 720 940

FormType 672 65211 65214 65213

FormType 60110 60150 60126 60120

FormType 60100

CORESUITE CUSTOMIZE

207

4.6.6

Installed example rules

Overview over the installed example rules For more information on how to install example rules, please refer to Import Example Rules. The following list gives you an overview over the preinstalled example rules: Optimizer Name GEN:0001: Wallpaper Description Generates a dynamic wallpaper during the start of SAP Business One. It contains company name, database name, shortcuts and other information. If you select the business partner on a sales or purchasing document, the system issues a message with remarks for the relevant business partner. These are the remarks from the tab Remark s on the Business Partner Master Data form. If you select the business partner on a Service Call (Modules > Service > Service Call), the system issues a message with remarks for the relevant business partner. These are the remarks from the tab Remark s on the Business Partner Master Data form. Does not allow to use asterisk ("*") in the field Name on the form Business Partner Master Data. Does not allow to use asterisk ("*") in the field Description on the form Item Master Data. Does not allow to use asterisk ("*") in the field Item Group on the form Item Groups - Setup (Modules > Inventory > Item Master Data > Item Group > Define new). Does not allow to use asterisk ("*") in the field Warehouse Code on the form Warehouses-(Default) Setup (Modules > Inventory > Item Master Data > Inventory Data > Whse Code > orange arrow). Does not allow to use asterisk ("*") in the field Warehouse Name on the form Warehouses-(Default) Setup (Modules > Inventory > Item Master Data > Inventory Data > Whse Code > orange arrow). Validates the e-mail address on the form Business Partner Master Data. Validates the website on the form Business Partner Master Data. Increases the Code before the business partner is added (by clicking on Add).

DOC:0002: Show Business Partner Info

SRV:0003: Show Business Partner Info

BUP:0004: Do not allow * in business partner name ITM:0005: Do not allow * in item name ITM:0006: Do not allow * in item group name

ITM:0007: Do not allow * in warehouse code

ITM:0008: Do not allow * in warehouse name

BUP:0009: Validate email address on BP BUP:0010: Validate website on BP BUP:0011: Increase card code

BUP:0012: Prevent adding the same BP several times Prevents the user to add a new business partner if the Name or Federal Tax ID is the same as for an existing business partner. BUP:0013: Color field Colors the field Account Balance on the form Business Partner Master Data, if the credit limit has been exceeded. In the Query Manager there is a drop-down list that you can use to define the height of the Query

GEN:0014: Size Of Query Manager Window

CORESUITE CUSTOMIZE

208

Name

Description Manager text field.

BUP:0015: Create activity on Batch Printing

This rule creates activities for business partners if documents are sent or printed using batch printing. The relevant document will be attached in PDF format to the activity.

Function Button Name FIN:0001: Update exchange rate Description Gets the current exchange rate from the Yahoo! Currencies Center (http://finance.yahoo.com/ currency). You can activate this function by rightclicking on the column Currency on the form Set Rate for Selection Criteria (Modules > Administration > Exchange Rates and Indexes > Set Rate for Selection Criteria). Opens a new Sales Quotation and fills the field Customer with the Code from the form Business Partner Master Data. Opens a new Sales Order and fills the field Customer with the Code from the form Business Partner Master Data. Opens a new Delivery and fills the field Customer with the Code from the form Business Partner Master Data . Opens a new A/R Invoice and fills the field Customer with the Code from the form Business Partner Master Data. Opens a new Service Call and fills the field Customer with the Code from the form Business Partner Master Data. Opens the default e-mail program and opens a new email. The e-mail address is taken from the e-mail address saved in the Business Partner Master Data, and the subject line is filled with the Name of the customer. Opens the default browser and shows the address in Google Maps. Shows the route to the customer in Google Maps in the default browser. The code calculates the route from the Address that is saved in the Company Details (Modules > Administration > System Initialization > Company Details) to Bill To address of the current business partner. Copies the Bill To address of a business partner to the Ship To address. If a Ship To address has been selected, it will be added to the Bill To addresses. This function is available on the form Business Partner Master Data. On the form Business Partner Master Data under

BUP:0002: Open new Sales Quotation

BUP:0003: Open new Sales Order

BUP:0004: Open new Delivery

BUP:0005: Open new Invoice

BUP:0006: Open new Service Call

BUP:0007: Open new email

BUP:0008: Show on google maps BUP:0009: Show route on google maps

BUP:0010: Copy address

BUP:0011: Fill BP Address by Zip Code

CORESUITE CUSTOMIZE

209

Name

Description Addresses > Zip Code, users can enter the zip code and then right-click and choose Fill BP Address by Zip Code. The system opens a new window in which the user can choose the relevant entry. The rule then automatically fills the fields City, County and Country.

BUP:0012: Copy BP Data to Clipboard

This rule copies the data from the following Business Partner Master Data fields to the clipboard, so you can copy them into other documents (e.g. into Word or Excel files): Name Contact ID Bill To address (Street/PO Box, Block , City, State, Zip Code, Country) Tel 1 Fax Website E-Mail

New Menu Name GEN:0001: Help-->Open Remotesupport Description Opens the coresystems ag Support page. We recommend you change the link, so it links to the website of the SAP Business One partner.

The example rules are provided with the aim to facilitate the introduction to coresuite customize. They are there for the users to copy and amend them. All example rules have been tested against the SAP demo databases. However, they are delivered without any guarantee.

CORESUITE CUSTOMIZE

210

If you open an example rule with an editor (see Editors), you can define more advanced settings. Example rules consist of an introduction and a paragraph that contains the definition of the parameters:

CORESUITE CUSTOMIZE

211

4.6.7

LinkedObjectType

A great advantage of SAP Business One is the option to link independent data. For example: The orange arrow that appears next to the field Freight on the Sales Quotation (Modules > SalesA/R > Sales Quotation) links to the Freight Charges:

CORESUITE CUSTOMIZE

212

With coresuite customize you can also create orange arrows that link to another form. To do so, you need the SAP-internal link number of the relevant document. The following list compiles some of the most important link numbers: Example No target object User-defined object G/L account object Business Partner object Item object Sales employee object Transaction template Journal Posting object Loading Factor object Recurring Transaction object Product Tree object Check for Payment object Payment Terms object Deposit object Predated Deposit object Warehouse object Import File object Budget System object Sales Tax Authorities object Sales Tax Codes object Run External Application object Due Date objects User Defaults object Financial Period object Sales Opportunity object Confirmation Level object Confirmation Template object Confirmation Document object Draft object Goods Issue object Goods Receipt object Project Code object Contact object Journal Voucher object Profit Center object Vendor Payment object Receipt object Value -1 0 1 2 4 53 55 30 62 34 66 57 40 25 76 64 69 78 126 128 86 71 93 111 97 120 121 122 112 60 59 63 33 28 61 46 24

CORESUITE CUSTOMIZE

213

Example Quotation object Order object Delivery Note object Delivery Note Return object Invoice object Invoice Credit Memo object Purchase Order object Goods Receipt PO object Goods Return object Purchase Invoice object Purchase Invoice Credit Memo object Correction Invoice object Stock Transfer object Work Instructions object Alerts Template object Special Prices object Customer/Vendor Catalog Number Special Prices object Serial Numbers for Items object Item Batch Numbers object User Valid Values object User Display Categories object Address Format object Indicator object Cash Discount object Delivery Type object VAT Group object VAT Indicator object Goods Shipment object Expense Definition object Credit Card object Business Partner Central Bank Indicator object Business Partner Bank Account object Discount Code object Block Payment object for vendors and customers Agent Person object Period Indicator object for document numbering Holidays Table object Employee object Pre-defined Text object for sales and marketing

Value 23 17 15 16 13 14 22 20 21 18 19 132 67 68 80 85 73 7 94 106 110 114 113 138 133 49 5 135 139 125 36 161 187 3 159 177 184 186 171 215

CORESUITE CUSTOMIZE

214

Example documents Territory (geographic location, brand, or item) object SAP Business One User object Production Order object Bill of Exchange object Bill of Exchange Transaction object Address Pattern object Account Segmentation Code object File Format object Stock Revaluation object Inventory Pick List object Dunning Term object Service Contract object Contract Template object Install Base object Service Call object Service Call Solution object Item Groups object Package Type object Sales Forecast object Payment Method object Withholding Tax object

Value

200 12 202 181 182 131 143 183 162 156 196 190 170 176 191 189 52 206 198 147 178

CORESUITE CUSTOMIZE

215

4.6.8

PaneLevel

When you change the look of SAP Business One you will come across the term "PaneLevel" (PL). PaneLevel is a term coined by SAP. It is represented by a number (e.g. 6) and is a property on a window (e.g. Business Partner Master Data). With the PaneLevel you can display fields on several tabs. For this reason, each item has two specifications: "From PaneLevel" and "To PaneLevel". With these values you can define on which tab(s) an item should appear.

Example The form Business Partner Master Data hat a total of 8 tabs. Each tab corresponds to a PaneLevel. If you switch from one tab to the next, the PaneLevel changes too and you can only see the items that are assigned to that PaneLevel. The tab General, for example, represents PaneLevel 1. All items that appear on this tab have "From PaneLevel=1" and "To PaneLevel=1". If you switch to another tab, e.g. to tab Contact Persons, the PaneLevel is 3 and the system displays all items that have "3" in or between the "From PaneLevel" and "To PaneLevel".

The header and footer information has the property "From PaneLevel=0" and "To PaneLevel=0". This information always appears regardless of which PaneLevel is active. An item with "From PaneLevel=1" and "To PaneLevel=4" therefore appears on the tabs General, Contact Persons and Properties.

CORESUITE CUSTOMIZE

216

You can determine the properties of an item (among them From PaneLevel and To PaneLevel) by using the Wizard that is available in the modules ItemPlacement and New Item. Here you can find a list of PaneLevels of some SAP Business One windows: Business Partner Master Data Tab Header and Footer General Contact Persons Properties Remarks Payment Terms Addresses Payment System Accounting Item Master Data Tab Header and Footer Purchasing Data Sales Data Inventory Data Properties Remarks General Planning Data PaneLevel 0 1 2 3 4 5 6 7 PaneLevel 0 1 3 4 5 6 7 8 9

Sales/Purchasing documents Tab Header and Footer Contents Logistics Accounting PaneLevel 0 1 6 7

CORESUITE CUSTOMIZE

217

4.6.9

Reading parameters

To add a parameter to an SQL query or a shell command, you must use a certain syntax. The syntax for parameters is as follows: [%TYPE;ITEMUID;COLUID;ROW;KEY] Name TYPE Explanation You can choose from the following options: G = General A = Alphanumeric D = Date N = Numeric If you are not sure about which option to choose, choose 'G' (this goes for 90% of all cases). The description (UID) of the item to be read. If an item is a matrix, you can indicate the column from which the value should be read. If the item is a matrix, you can indicate the row from which the value should be read. If you do not indicate a row, the system will choose the currently active row. If an item is a drop-down list, you can use 'K' to read the key. A drop-down list always consists of a key and a value. In most cases, it is the value that is displayed, but the key that is saved (e.g. you see "Swiss Franc" (value), but in the database this is saved as "CHF" (key)). If you do not indicate 'K', the system will read the value.

ITEMUID COLUID ROW KEY

The parameter must be marked with square brackets: Start: End: [% ]

Some examples Description To read the business partner code from a sales document To read the currency (e.g. CHF) from a sales document To read the column (quantity) of a row (e.g. 1) from a sales document To read the column (quantity) from the current row from a sales document Parameter [%G;4] [%G;63;;;K] [%G;38;11;1] [%G;38;11]

If by using parameters alone you cannot achieve what you wish for, you can use code instead. By using code you have more possibilities, but it has a negative impact on the performance.

CORESUITE CUSTOMIZE

218

4.6.10

SAP windows

The windows in SAP Business One (also called forms or masks) all have a certain height and width, which are defined in pixels. The top left corner is the starting point (0/0) of the window. There are several types of windows. For some of them, the size is static, for others, the user can make them bigger or smaller. All items on the window are defined by four pixel values: Height: The height of the item Width: The width of the item Left: The distance from the left side of the window Top: The distance from the top side of the window

CORESUITE CUSTOMIZE

219

4.6.11

Translation parameters

All text modules that have been created with coresuite customize can be translated using the logic of coresuite designer. In the following fields it is possible to use translation parameters: Optimizer: Warning Text Function Button: Name New Items: Description New Menu: Menu name The syntax for the translation parameter is as follows: [@T0000001] T0000001 is the code from the text table. To open the table with all text modules, go to Tools > Default Forms > SWA_LD_TEXT - Text. Here you can translate the original text into various languages. To do so, proceed as follows: 1. Open the text table (Tools > Default Forms > SWA_LD_TEXT - Text). 2. In the window Text right-click on the entry that you want to translate and choose Translate. 3. The window Translations appears.

For more information on the window Translations, please refer to the official SAP Business One

CORESUITE CUSTOMIZE

220

documentation. 4. Add the relevant language in the column Language. 5. Enter the relevant translation in the column Translations. 6. Choose Update.

CORESUITE CUSTOMIZE

221

4.6.12

Practical example 1 - Validation

Scenario You want to configure the Business Partner Master Data form so that it is only possible to add a new business partner if the following conditions are met: a) A telephone number has been entered for the business partner. b) A valid e-mail address has been entered for the business partner. If these conditions are not met, it is not possible to add the business partner. Procedure Create the relevant rules in the Optimizer module. a) Define mandatory field Open the Optimizer module (Modules > Administration > Add-Ons > coresuite customize > Optimizer) and enter the following data: RuleName Type Action Warning Text Statusbarmessage FormType Base ItemUID Base Form Type ItemUID Event Type Before Event Form Mode Expression Enter a unique name, so that you can easily categorize the rules and tell them apart. REGEX Validate Please enter a phone number Yes (checked) 134 43 134 1 ItemPressed Yes (clicked) MODIFY ^.+$ (corresponds to the template Mandatory TextEdit Field)

You can leave all other fields empty. They are either not relevant or will be filled in automatically. b) Define valid e-mail format Open the Optimizer module (Modules > Administration > Add-Ons > coresuite customize > Optimizer) and enter the following data: RuleName Type Action Warning Text Statusbarmessage FormType Base ItemUID Base FormType ItemUID Event Type Enter a unique name, so that you can easily categorize the rules and tell them apart. REGEX Validate Please enter a valid e-mail address Yes (checked) 134 60 134 1 ItemPressed

CORESUITE CUSTOMIZE

222

Before Event Form Mode Expression

Yes (checked) MODIFY

^\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$ (corresponds to the template Email) You can leave all other fields empty. They are either not relevant or will be filled in automatically. If a user now enters an invalid e-mail address (e.g. john.masongmail.com instead of john.mason@gmail.com), a warning appears in the status bar:

A similar message would appear when a user tries to add a business partner without entering a telephone number.

CORESUITE CUSTOMIZE

223

4.6.13

Practical example 2 - Display all prices

Scenario For each of your items, you have defined several prices. Instead of checking these prices individually (by selecting the relevant price from the drop-down list on the form Item Master Data under Price List), you want to access an overview from the form Item Master Data. Goal On the form Item Master Data, you want to add a Function button over which you want to be able to access all prices for the relevant item. Procedure To add the Function button, proceed as follows: 1. Go to Modules > Administration > Add-Ons > coresuite customize > Function Button. The window coresuite customize: Function Buttons appears. 2. Choose Add row and enter the following data: Active Description Type Name Form Type Select the checkbox. Show all prices for current item CSCODE Show all prices 150 Form Type 1. Since you want the Function button to appear on the form Item Master Data, you must enter the ID of this form in the window coresuite customize: Function Buttons under Form Type. 2. To find out the ID, activate the System Information (View > System Information). 3. Then open the form Item Master Data (Modules > Inventory > Item Master Data). 4. Move the mouse over the form Item Master Data. In the status bar you can now see that this item has "Form=150", i.e. the ID of Item Master Data is "150". Do not select this checkbox. Enter the Code for practical example 2: 1. Copy the Code for practical example 2. 2. Click on the orange arrow in the column Expression. 3. The window coresuite customize editor opens. 4. Paste the code that you have copied in step 1. 5. Choose Save and then Parse. 6. Close the window coresuite customize editor.

No Button Expression

You can leave all other fields empty. They are either not relevant or will be filled in automatically. 3. 4. 5. 6. Go back to the window coresuite customize: Function Buttons and choose Update. Reopen the form Item Master Data. Load a data record and choose Functions > Show all prices. The window Item Prices opens. Here you can now see all prices for the relevant item:

CORESUITE CUSTOMIZE

224

CORESUITE CUSTOMIZE

225

4.6.13.1
try {

Code for practical example 2

// parameters int formWidth = 600; int formHeight = 400; int left = 10; border

// width of the window // height of the window // distance to the left

string formTitle = "Item Prices"; // title of the new window string formType = "COR_CUS_SII"; // form type for new window // read information from the current window string itemCode = TextEdit.GetFromUID(pVal.Form, "5").Value; string itemName = TextEdit.GetFromUID(pVal.Form, "7").Value; // create items for new window Label label = Label.CreateNew("COR_LA1"); label.Value = itemCode + " - " + itemName; label.Left = left; label.Top = 10; label.Width = 300; label.Height = 10; Grid grid = Grid.CreateNew("GR1"); grid.SetPosition(label); grid.Top += label.Height + 5; grid.Height = formHeight - 80; grid.Width = formWidth - 25; Button buttonCancel = Button.CreateNew("2"); buttonCancel.Left = left; buttonCancel.Top = formHeight-60; buttonCancel.Width = 85; buttonCancel.Height = 20; // create new window Form form = Form.CreateNewForm(formType, "COR_CUS_SII" + SwissAddonFramework.Utils. UniqueStringGenerator.Next()); form.Height = formHeight; form.Width = formWidth; form.Top = pVal.Form.Top; form.Left = pVal.Form.Left; form.Value = formTitle; // add items to window form.AddItem(label); form.AddItem(grid); form.AddItem(buttonCancel); // load window to screen form.Load(); // fill data to grid string query = @" SELECT ITM1.PriceList, OPLN.ListName, ITM1.Price, ITM1.Currency, ITM1.Factor FROM ITM1 INNER JOIN OPLN ON OPLN.ListNum=ITM1.PriceList WHERE ITM1.ItemCode='" + itemCode + @"' ORDER BY ITM1.PriceList"; grid.ExecuteQuery(query); // set all columns to not editable

CORESUITE CUSTOMIZE

226

foreach(GridColumn gc in grid.Columns.Values) { gc.Editable = false; } // react if the user is doubleclicking on the header of the row grid.Columns["RowsHeader"].AddHandler_DoubleClick( ModeComponent.FormModes.ALL, delegate(SwissAddonFramework.UI.EventHandling.ItemEvents.DoubleClick ev) { try { // get current pricelist name string priceListName = grid.GetValue("ListName", ev.Row); // open pricelist MenuItem.GetFromUID("3076").Activate(); Form currentForm = Form.GetFormFromUID(SwissAddonFramework. B1Connector.GetB1Connector().Application.Forms.ActiveForm.UniqueID); Matrix m = Matrix.GetFromUID(currentForm, "3"); for(int i = 0; i < m.Rows.Count;i++) { string currentPriceList = m.GetValue("1", i); if(currentPriceList == priceListName) { m.Columns[0].Cells[i].Click(MatrixColumn. ClickTypes.Double, MatrixColumn.Modifier.None); return; } } } catch (System.Exception ex) { SwissAddonFramework.Messaging.StatusBar.WriteError("Error in customize rule to show the price list: " + ex.Message); } }); } catch (System.Exception exe) { SwissAddonFramework.Messaging.StatusBar.WriteError("Error in customize rule to show the item prices: " + exe.Message); }

4.6.14

Practical example 3 - UDT Handler

The following use case illustrates how the UDT Handler can be used in a business scenario. Scenario On the Sales Order, you want to be able to add additional information to your items, e.g. color and size of the items. Step 1: Define the UDT 1. User-Defined Tables - Setup Go to Tools > Customization Tools > User-Defined Tables - Setup. Create a new line with the following data:

CORESUITE CUSTOMIZE

227

Table Name Description Object Type Archivable

LINEPROPERTIES Additional Line Properties No Object Leave empty

Choose Update to save your changes and close the window. 2. User-Defined Fields - Management Go to Tools > Customization Tools > User-Defined Fields - Management. A new window opens. Go to Additional Line Properties and add the following fields by choosing Add: Title Property AltCardCode Altern. Vendor BP Print Print DocEntry DocEntry Numeric 10 Value Value LineNum LineNum

Description Property Type Length Alphanumeric 10

Alphanumeric Alphanumeric 30 1 (this creates a checkbox) Regular Checked Value Y N Yes No

Alphanumeric Numeric 250 10

Structure Set Valid Values for Field

Regular Checked Value C S Struct. Color Size

Regular n/a

n/a n/a Struct.

Regular n/a

n/a n/a

CORESUITE CUSTOMIZE

228

Step 2: Configure the UDT Handler 1. UDT Handler Open the UDT Handler (Modules > Administration > Add-Ons > coresuite customize > UDT Handler) and enter the following data: User defined Table Form Title Select LINEPROPERTIES - Additional Line Properties from the drop-down list. Line properties for document [%DocNum] Line [%LineNum] When you right-click in this field, you can go to Insert Parameter and select the relevant parameter. The system then automatically enters it in the correct format. 2. UDT Handler - General tab General Key | ItemId | MatrixId This will be filled automatically. ... Click on the arrow and select the following entries from the ChooseFrom List: DocNum (on the Sales Order) LineNum (on the Sales Order) U_LineNum = [%LineNum] AND U_DocEntry = '[%DocKey]' When you right-click in this field, you can go to Insert Parameter and select the relevant parameter. The system then automatically writes it in the correct format in your clause. Form Type Menu Name Menu UID Parent Resulting Form Type Supported Functionality Inactive COR_LineProp Update Add Row Delete Row Checked Checked Checked 139 Line Properties

Filter (Where Clause)

3. Parameters Then choose Functions > Open Parameters. This opens the Parameter window (please refer to the chapter Open Parameters in the coresuite designer manual for more information on this mask). Enter the following parameter: Code Key (In Queries) Type of Parameter Item Id Matrix Id Use Rownumber Code of the parameter. Do not enter anything here; this code is assigned automatically when you save the parameter. LineNum Numeric 0 38 leave empty

Then link this parameter to the Sales Order.

CORESUITE CUSTOMIZE

229

4. UDT Handler - Fields tab Fields Field U_Property Vis. X Edit. X X X Title Property Altern. Vendor BP Print DocEntry X X Value LineNum Pos 10 40 30 0 20 0 OCRD CardCod e CardName Linked Table Value Description Type ComboBox ChooseFro mList ComboBox ComboBox ComboBox ComboBox

U_AltCardC X ode U_Print U_DocEntry U_Value U_LineNum X

Save your changes. Then go back to a Sales Order, right-click on an item and select Line Properties. This will then open your UDT where you can easily select the data needed. You can see that the name of the business partner will be filled in automatically, for example. The form will look like this:

Examples for other use cases: Hobby assignment for contact people Definition of holding structures on business partners Dynamic attributes on equipments Defining time-dependent guarantees on items

CORESUITE CUSTOMIZE

230

Creating customer-specific price lists Managing credit limits for accounts etc.

CORESUITE CUSTOMIZE

231

CORESUITE ENTERPRISE SEARCH

How much time do you spend searching for SAP Business One documents every day? Wouldn't it be great to have a tool that enables you to search for Business Partners, Marketing Documents, Master Data and much more... With coresuite enterprise search this is finally possible!

CORESUITE ENTERPRISE SEARCH

232

5.1

Quick access

coresuite enterprise search is a search tool that you can use after you have installed the coresuite country package. No additional configuration is needed. There are two ways to start coresuite enterprise search: Widget Add-On

Go to My Cock pit > Widget Gallery > coresuite Go to Modules > Administration > Add-Ons > widgets > enterprise search. coresuite enterprise search. Click on enterprise search and drag the element into The system displays the window coresuite enterprise the cockpit. The window enterprise search now search. appears in the cockpit. The window will open automatically next time you start coresuite. The window will open automatically next time you start coresuite.

coresuite enterprise search offers three different search options. They are visible in the top left area of the coresuite enterprise search window: Object search With this option you can search for contacts, items, sales orders and much more. All my own open documents Here you can display all the open documents that are in your name. Recent modified objects This view shows all objects that have been modified in the last 10 days.

CORESUITE ENTERPRISE SEARCH

233

5.2

System requirements

Hardware and software requirements for SAP Business One You can find the hardware and software requirements for SAP Business One on www.sap.com or on the SAP Partner Portal (SAP S-User Login required). Hardware and software requirements for coresuite To be able to use coresuite enterprise search you must make sure the system meets the coresuite requirements. The latest system requirements are published in the download section on our website: http:// www.coresystems.ch/downloads. If you want to use the widget version of the enterprise search you must also make sure that your system runs on SAP Business One 8.8 PL12 (or higher). Enabling the cockpit In addition, you must enable the cockpit. If you are a superuser, go to Modules > Administration > System Initialization > General Settings > Cock pit and select the checkbox Enable Cock pit at Company Level. Then go to Tools > Cock pit > Enable My Cock pit. If you are not a superuser, you can enable the cockpit by going to Tools > Cock pit and then choose Enable My Cock pit. If this is grayed out, contact the superuser (this could be your manager or the system administrator).

CORESUITE ENTERPRISE SEARCH

234

5.3

Option 1 - Object search

Options (Show object functions) Choose Object functions to choose from more options. For sales orders, for example, you can choose from the following options: Open Document, Open Business Partner and Add a link ed activity. To display these functions, select a document and choose Show object functions. You can also access these functions by right-clicking on the sales order. (Search settings) When you choose Search settings, you can choose from the following options: Search only in my documents Include document lines Include closed documents Include canceled documents Include categories [there you can select the categories you want to include from a list] Searchable fields [this option is only available for superusers] The Search settings are described in more detail in the following section.

CORESUITE ENTERPRISE SEARCH

235

5.3.1

Search Settings

Every user can choose different parameters to refine the search result. It is possible to select several parameters at the same time. The following parameters are available: Search only in my documents Include document lines Include closed documents Include canceled documents Included categories [there you can select the categories you want to include from a list] Searchable fields [this option is only available for superusers] This section looks more closely at these parameters.

5.3.1.1

Search only in my documents

Activate this parameter if you would like to only search documents that are assigned to you. With this parameter you can restrict the search considerably. Example: The user "Peter Knecht" activates the parameter Search only in my documents and performs a wildcard search. The system only returns the one document that is assigned to him. If he repeated this search with the parameter Search only in my documents deactivated, the system would return a far higher number of matches. Categories affected by the parameter Search only my documents are: All marketing documents, drafts, service calls and sales opportunities.

CORESUITE ENTERPRISE SEARCH

236

5.3.1.2

Include document lines

Activate this parameter if you would like to search document lines. Example: The user activates the parameter Include document lines and enters the item number "I00008" in the search field. The system then displays all documents that contain this item number in the body.

5.3.1.3

Include closed documents

Activate this parameter if you would like to include closed marketing documents, coresuite time subscriptions and coresuite time projects in the search. If this parameter is active, the search includes both open and closed documents. In the search results, closed marketing documents, coresuite time subscriptions and coresuite time projects appear in gray font.

5.3.1.4

Include canceled documents

Activate this parameter if you would like to include canceled marketing documents in the search. In the search results, canceled marketing documents appear in gray font and are struck through.

CORESUITE ENTERPRISE SEARCH

237

5.3.1.5

Included categories

Here you have the option to define the categories that should be included in the search. You can choose from the following categories: Business Partners Contacts Employee Items Activities Opportunities Sales Quotations Sales Orders Deliveries Returns (A/R) A/R Down Payment Invoices A/R Invoices A/R Reserve Invoices A/R Credit Memos Purchase Orders Goods Receipt Pos Goods Returns A/P Down Payment Invoices A/P Invoices A/P Reserve Invoices A/P Credit Memo Drafts Service Calls Service Contracts Production Orders Purchase Quotations coresuite time integration If coresuite time is enabled, the following categories are also available: Projects Subscriptions be.as integration If the external add-on be.as is installed, the following category is also available: Work Order ID Selecting too many categories could affect the performance. We therefore recommend selecting only the categories you really need.

CORESUITE ENTERPRISE SEARCH

238

5.3.1.6

Searchable fields

This option is available to superusers only. As a superuser, you can use Searchable fields to define the fields that should be included in the search. These settings then apply to all users. You can choose from the most relevant standard fields of Business One. Furthermore, include UDFs for each of the categories. If, for example, you have defined the UDF "Object Status" in the business partner master data, you can now go to Searchable fields > Business Partners > UDFs and select Object Status. This UDF will then be included in the search. For superusers, these changes take effect immediately. All other users need to restart SAP Business One for the changes to take effect. Selecting too many categories could affect the performance. We therefore recommend selecting only the categories you really need.

CORESUITE ENTERPRISE SEARCH

239

5.3.1.6.1
Category

Default searchable fields


Field name BP Name BP Code City Street Zip Code

The following fields are enabled by default: Business Partners

Contacts

BP Code BP Name E-Mail Contact Person Name

Employee Items

First Name Last Name Item Description Item No. Preferred Vendor Code Preferred Vendor Name

Activities

Activity No. BP Code BP Name Remarks

Opportunities

BP Code BP Name Opportunity Name Opportunity Number Remarks

Marketing Documents

BP Code BP Contact Code BP Contact Name BP Name Document Number Item No. Item/Service Description

Drafts

BP Code BP Contact Code BP Contact Name BP Name Document Number Item No. Item/Service Description

CORESUITE ENTERPRISE SEARCH

240

Service Calls

BP Code BP Contact Code BP Contact Name BP Name Service Call No. Subject

Service Contracts

BP Code BP Name Contact Person Code Contact Person Name Contract No. Description

Production Orders

BP Code Item Description Item No. Product Nr. Production Order Num.

Projects * Subscriptions * Work Orders **

Time Project Code BP Name Subscription Code Work Order ID Project Doc. Entry Customer Nr. Customer Name Item Code

* only available if coresuite time is installed. ** only available if the be.as add-on is installed. You must have be.as add-on 2009 SP01 Build 19 or higher.

CORESUITE ENTERPRISE SEARCH

241

5.3.2

Search types

In the Object search, two search types are available: the indexed search and the free text search. The indexed search is usually faster than the free text search. We therefore recommend using the indexed search whenever possible.

5.3.2.1

Indexed search

When you start entering a search term in the search area, the system immediately starts searching for matches and displays them in a drop-down list. That means you do not have to finish writing, you can just choose the relevant entry from the drop-down list. The drop-down list displays four types of results:

Business Partners If you select a business partner from the drop-down list, the search engine will retrieve - all documents that are related to the selected business partner - the contact persons of this business partner. Business Partner Contacts If you select a business partner contact from the list, the search engine will retrieve - the Business Partner to which the contact person belongs - all documents in which this contact person appears. Employees If you select an employee from the drop-down list, the search engine will retrieve - all documents assigned to the selected employee - the employee.

CORESUITE ENTERPRISE SEARCH

242

Items If you select an item from the drop-down list, the search engine will retrieve - the master data form of the item itself - all documents in which the item appears in the document body. The search results are displayed in a tree structure. Behind each category, the system displays the number of search results. All open documents that are past their due date appear in red. Closed documents appear in gray.

Double-clicking on an entry to open the relevant window. Right-clicking on an entry to choose from additional functions. E.g. when you right-click on a business partner you can create an activity, a sales quotation, a delivery, an A/R invoice, etc. When you add a new business partner, contact, employee or item to the master data, it takes about 10 seconds for the new entry to appear in the drop-down list. The indexed search only shows the objects that the superuser has defined under (Search Settings) > Searchable fields. For more information on this please refer to the chapter Included categories.

CORESUITE ENTERPRISE SEARCH

243

5.3.2.2
chosen in

Free text search


(Search Settings). They system also looks for the search term in all fields that the superuser (Search Settings > Searchable Fields).

When you use the free text search, the system looks for the search term in all categories that you have has defined under

Enter the complete search term and choose Search to start the free text search.

Bear in mind that if you select a term that appears in the drop-down list, the indexed search will be used and not the free text search. The menu entries Projects and Subscriptions are only available if coresuite time is installed. The menu entry Work Orders is only available if the be.as add-on is installed.

CORESUITE ENTERPRISE SEARCH

244

Advanced free text search By using Boolean operators the simple search becomes an advanced search. You can use Boolean operators to search for several terms at the same time. Enter the search terms and the Boolean operators in the search field and then choose Search. As usual, the system displays the search results in a tree structure and shows the number of search results in brackets behind each category. Example: You would like to search for all documents with the code "I00012" related to the business partner "CTI Computers". In the search field you therefore enter "CTI Computer AND I00012" and the choose Search.

CORESUITE ENTERPRISE SEARCH

245

5.4

Option 2 - All my own open documents

All my own open documents gives you an overview over the documents that are currently assigned to you. The search results are displayed in a tree structure. Behind each category, the system displays the number of search results in brackets. Double-clicking on an entry to display the relevant form. Right-clicking on the entry to display the context menu.

Options (Show object functions) Choose Object functions to choose from more options. For Sales Orders, for example, you can choose from the following options: Open Document, Open Business Partner and Add a link ed activity. To display these functions, select a sales order and choose Show object functions. You can also access these functions by right-clicking on the sales order. (Refresh) Choose Refresh to update the search results. This function is useful if you have added entries to the database or modified existing entries after opening All my own open documents. For this function to work, you need to make sure that you assign a user code on the employee master data form. To do so, go to Modules > Employee Master Data, then select the User Code from the drop-down list.

CORESUITE ENTERPRISE SEARCH

246

5.5

Option 3 - Recent modified objects

Recent modified objects shows all documents that have been changed in the last 10 days. The search results are displayed in a tree structure and are sorted by the date they have been modified. Behind each category, the system displays the number of search results in brackets.

Options (Show object functions) Choose Object functions to choose from more options. For Sales Orders, for example, you can choose from the following options: Open Document, Open Business Partner and Add a link ed activity. To display these functions, select a sales order and choose Show object functions. You can also access these functions by right-clicking on the sales order. (Refresh) Choose Refresh to update the search results. This function is useful if you have added entries to the database or modified existing entries after opening All my own open documents.

CORESUITE ENTERPRISE SEARCH

247

5.6
Icon

Legend of the icons


Description Business Partner Customer Business Partner Lead Business Partner Vendor Business Partner Business Partner Contact Contact person of a Customer Business Partner Contact person of a Lead Business Partner Contact person of a Vendor Business Partner Employee Item Activity Opportunities Service Calls and Service Contracts High-Priority Service Call Service Contract Purchasing Documents Sales Document Production Order Draft

coresuite time integration If coresuite time is enabled, the following icons will also appear in the search results: Icon Description Projects Subscriptions be.as integration If the be.as add-on is installed, the following icons will also appear in the search results:

Icon

Description
be.as work orders

CORESUITE ENTERPRISE SEARCH

248

CORESUITE DESIGNER

CORESUITE DESIGNER

249

6.1

System requirements

Hardware and software requirements for SAP Business One The hardware and software requirements for SAP Business One are available on www.sap.com or on the SAP Partner Portal (requires SAP superuser login). Hardware and software requirements for coresuite To use coresuite designer, your system must meet the requirements for coresuite. You can download the latest coresuite system requirements from our website: http://www.coresystems.ch/downloads.

6.2

Installation

You can download the detailed installation manual for coresuite framework, which is the base for all coresuite modules, from the coresystems website (help.coresuite.ch). To buy licenses, you must be registered as a user on portal.coresystems.ch. Only partners can buy licenses. If you are an end user, please contact your SAP partner. Activating the coresuite modules After you have installed coresuite framework and activated the licenses for all modules, you can download the new modules in SAP Business One. To do so, go to Administration > Add-Ons > coresuite administration > Administration and choose Download updates. Choose the relevant modules and install them. After downloading the modules, you need to restart coresuite. Go to Administration > Add-Ons > Add-On Manager, select "coresuite" and choose Stop. Wait for a moment, then restart the add-on.

CORESUITE DESIGNER

250

6.3

Support and Service

If you have questions or suggestions regarding our products, please do not hesitate to contact us: coresystems ag Villa im Park Dorfstrasse 69 5210 Windisch Switzerland Hotline: Fax: E-mail: Web: +41 (0) 848 088 088 +41 (0) 56 444 20 50 info@coresystems.ch www.coresystems.ch www.coresuite.ch

For support and service issues please follow the procedure outlined on the coresuite support website or contact support@coresystems.ch.

CORESUITE DESIGNER

251

6.4

Authorizations

You can define the authorizations for all options described below in the General Authorizations of SAP Business One. Access Modules > Administration > System Initialization > Authorizations > General Authorizations For more information on Authorizations please refer to the official SAP Business One manual. We recommend you create user groups, as this helps to manage authorizations (also see Users).

6.4.1

Data sources

In the Layoutdefinition you can find the most popular data sources for the relevant forms. For some of the data sources, you can change the user authorizations (see Setting user authorizations). Apart from the defined data sources, you can also define your own queries.

6.4.1.1

Setting user authorizations

You can set the authorizations for some of the data sources, e.g. for coresuite financial reports, under Modules > Administration > System Initialization > Authorizations > General Authorizations > User Authorization > coresuite designer > Datasources.

6.4.1.2

Own queries

You can create own queries using the Query Generator or the Query Manager (SAP Menu > Tools > Queries > Query Generator / Query Manager). Save your own queries in the Query Manager. For more information on the Query Generator and Query Manager, please refer to the official SAP Business One documentation. You can then use the queries in the Layoutdefinition under Queries. Do not use special characters or periods in the query name, as this will cause errors. Do not save your queries in the category General, as this category is not displayed in the Layoutdefinition.

CORESUITE DESIGNER

252

6.5

Description of forms

This chapter describes all coresuite designer forms. Overview over the forms Configuration Layoutmanagement Layoutdefinition Printdefinition

6.5.1

Configuration

After installing coresuite designer, it is necessary to configure some parameters before using coresuite designer. Access Modules > Administration > Add-Ons > coresuite designer > Configuration

CORESUITE DESIGNER

253

6.5.1.1

General

On the tab General you can make general settings to coresuite designer. Access Modules > Administration > Add-Ons > coresuite designer > Configuration > General Window

Fields Text Language

Shows the default language for the text modules. You use these text modules when you create layouts in coresuite designer. The system uses this language if the relevant text module is not (yet) available in the dynamic language. You can change the language on the tab Text. Activate this checkbox if you want that, before executing them, the system logs all queries in a temporary file (%temp%/swald/%companyname%/queries/query.txt). You can use the files for debugging. Activate this checkbox if you want to always use the default printer. Define after which action the print flag is set: Printing - after printing the document Emailing - after sending the document by e-mail Faxing - after sending the document by fax PDF - after converting the document into PDF format Activate this checkbox if you want to allow printing in Update mode. This means that you can print documents in which you made changes that you have not yet committed by choosing Update (i.e. the changes are not in the system yet).

Log Queries

Force Default Printer Set Print-Flag when:

Print in Update Mode

SWA_LD_DRAFT Activate this checkbox if you want to print drafts. If, for example, you want to print a draft to Formtype of a DIN layout from a customized list, coresuite designer will not be able to recognize the

CORESUITE DESIGNER

254

formtype (e.g. order, quote, etc.). If this checkbox is active, coresuite designer will convert the formtype correctly. Version Shows which version of coresuite designer is installed.

CORESUITE DESIGNER

255

6.5.1.2

Text

On the tab Text you can define the language for the text modules used in coresuite designer. Access Modules > Administration > Add-Ons > coresuite designer > Configuration > Text Window

Fields Text Language

Here you can change the default language for the text modules. You use these text modules when you create layouts in coresuite designer. The system uses this language if the relevant text module is not (yet) available in the dynamic language. If you use the function Open Texts, the table appears in the language that you have defined here. If you want to change the language, follow the instructions below.

Allow automatic Activate this checkbox if you want the system to automatically update (and therefore Meta Text overwrite) the meta texts (file cor_txt_meta.xml) whenever you carry out an update. Updates Procedure To change the language, proceed as follows: 1. Export the current language Choose Export, enter a name for the .xml file, choose a location and save the file. 2. Import the relevant language Select the relevant language from the drop-down list and choose Import. Import the same .xml file that you exported in step 1. It is important to first export the current language.

CORESUITE DESIGNER

256

When you import new texts, existing text modules will be overwritten and new text modules will be added. You can also use the Export and Import functionality to translate existing text modules into other languages. Simply export the existing text modules, send the .xml file to the translator and import the translated file. We recommend using notepad++ for editing purposes.

CORESUITE DESIGNER

257

6.5.1.3

Preview
(Preview).

On the tab Preview you can define the size of the preview window. To open the preview, open a printdefinition or a layoutdefinition and choose

Access Modules > Administration > Add-Ons > coresuite designer > Configuration > Preview Window

Fields Preview window Here you can define the size of the preview window. You can choose from the following options: User - The preview window is half the size of the screen. Maximized - The preview window is the size of the full screen. Minimized - The preview window is minimized (i.e. appears in the bottom right corner of the screen). User - The preview window is the size that you defined when you last opened the preview window. 100% Checkbox active: The content is shown in original size.

CORESUITE DESIGNER

258

6.5.1.4

Install

Here you can reinstall printdefinitions and layoutdefinitions or access the Layoutmanagement. Access Modules > Administration > Add-Ons > coresuite designer > Configuration > Install Window

Fields Layoutmanagement Reinstall

See chapter Layoutmanagement. Choose Reinstall, if you want to reinstall a printdefinition or layoutdefinition. This is useful if you suspect that one or several printdefinitions or layoutdefinitions contain errors.

Existing printdefinition and layoutdefinitions are not updated automatically. If you want to update printdefinition and layoutdefinitions, you must use the Reinstall function them. During an update, only layouts of the type "System" (see Sys in Layoutmanagement) will be replaced with a higher version.

CORESUITE DESIGNER

259

6.5.1.5

Select Grid

On the tab Select Grid you can adjust the select grid settings. Access Modules > Administration > Add-Ons > coresuite designer > Configuration > Select Grid Window

Fields Autoselect Step X Step Y

Checkbox active: By default, all entries in the select grid are selected. When you open several select grids, they are offset. In this field you can define the horizontal off-set in pixels. When you open several select grids, they are offset. In this field you can define the vertical off-set in pixels.

CORESUITE DESIGNER

260

6.5.1.6

Email(Smtp)

On the tab Email(Smtp) you can configure the SMTP server. Access Modules > Administration > Add-Ons > coresuite designer > Configuration > Email(Smtp) Window

Fields Smtp Server Port Smtp User Smtp Password Use SSL Notification

Enter the address of the Smtp server. If necessary, enter the port. Enter the user name. Enter the password. Checkbox active: They system always uses an SSL connection. Define when you want to receive notifications by e-mail. You can choose from the following options: Never On Delay (when the email is sent with delay) On Failure (e.g. if the recipient's mail box is full) On Failure and Delay On Success The notification is sent to the e-mail address that you have entered as From Address in the Printdefinition (Modules > coresuite designer > Printdefinition > Email/Fax > From Address).

Preview Mail Mode

Define the preview mode that should be used when you choose preview. You can choose from the following options: Default

(E-Mail) in the

CORESUITE DESIGNER

261

SAP Prompt Smtp Prompt MAPI Prompt The Smtp settings become active when you choose them in the Printdefinition (Modules > coresuite designer > Printdefinition > Email/Fax > Send Mode = 3 - Smtp Prompt or 4 - Smtp direct).

CORESUITE DESIGNER

262

6.5.1.7

Startlayout

On the tab Startlayout you can define one or several layoutdefinitions that you want to display whenever you open SAP Business One. A manager might want to see a dashboard showing him the latest sales figures while a sales person might want to see a list of opportunities. Access Modules > Administration > Add-Ons > coresuite designer > Configuration > Startlayout Window

Fields User Layout

Select the relevant user from the drop-down list. Select the relevant layoutdefinition from the drop-down list.

CORESUITE DESIGNER

263

6.5.1.8

Batchprint

On the tab Batchprint you can define the settings for remote printing and batch printing. Access Modules > Administration > Add-Ons > coresuite designer > Configuration > Batchprint Window

Fields User Alert

Select the relevant user from the drop-down list. Select the relevant alert from the drop-down list. You must first save this alert under Modules > Administration > Alert Management (for more information please refer to the official SAP Business One documentation). Select the relevant mode from the drop-down list. You can choose from the following options: Preview Print Email Fax PDF Enter the path to the folder where the .xml file for Remote Printing is saved. This .xml file looks something like this: <?xml version='1.0' encoding='UTF-16' standalone='no' ?> <job> <!-- use modes: PDF,Print,Email,Fax,Preview --> <type mode="Print" layoutid="0" formtype="" /> <paramsets> <paramset>

PrintMode

Parameter Scan-Path

CORESUITE DESIGNER

264

<params> <!-- Provide all the Parameters which your Layout(s) require --> <param key="DocEntry" value="10" /> <!-- get the PrintDefId from the Printdefinition - Form in the Exten <param key="PrintDefId" value="DocSalesOrder" /> </params> </paramset> </paramsets> </job> Intervall [min] Enter at which interval [in minutes] the system should check if the document has already been printed.

Procedure Remote Printing 1. In the column User select a user from the drop-down list. 2. In the column Parameter Scan-Path enter the path to the folder where the .xml file is saved. This .xml file contains information about which document should be printed how often and in which format. PDFs will be saved in the folder that you have indicated in the Printdefinition (Modules > Add-Ons > coresuite designer > Printdefinition > Email/Fax > Exportpath). If no path has been indicated in the Printdefinition, the system saves the PDFs in the folder swald in the temp directory. The system also saves the files for the other options (Email, Fax, Preview) in the folder swald. 3. Leave all other fields empty. 4. Choose OK to confirm. Batch Printing 1. In the column User select a user from the drop-down list. 2. In the column Alert select an alert from the drop-down list. 3. In the column PrintMode choose the mode for printing the document. PDFs will be saved in the folder that you have indicated in the Printdefinition (Modules > Add-Ons > coresuite designer > Printdefinition > Email/ Fax > Exportpath). If no path has been indicated in the Printdefinition, the system saves the PDFs in the folder swald in the temp directory. The system also saves the files for the other options (Email, Fax, Preview) in the folder swald. 4. Indicate the interval [in minutes], in which the system should check if the alert has already been sent. 5. Choose OK to confirm.

CORESUITE DESIGNER

265

6.5.1.9

Editor

On the tab Editor you can define settings for coresuite Editor. Access Modules > Administration > Add-Ons > coresuite designer > Configuration > Editor Window

Fields Write back <BR/ > for Newline Preserve Spaces

Checkbox active: coresuite Editor uses "<BR/>" to display new lines. Checkbox inactive: coresuite Editor does not use "<BR/>" to render new lines, but displays the text in WYSIWYG format. Checkbox active: If you enter several blank spaces in coresuite Editor, the system displays as many blank spaces as you entered. Checkbox inactive: If you enter several blank spaces in coresuite Editor, the system reduces them to one blank space.

CORESUITE DESIGNER

266

6.5.2

Layoutmanagement

The Layoutmanagement offers an overview over all printdefinitions and layoutdefinitions. In the Layoutmanagement you can: Search for / filter layoutdefinitions Import / Export layoutdefinitions Reinstall printdefinitions and layoutdefinitions Activate / Deactivate printdefinitions Open printdefinitions and layoutdefinitions. Access Modules > Administration > Add-Ons > coresuite designer > Layoutmanagement Window The Layoutmanagement form consists of four areas:

1) Filter area Here you can search for printdefinitions and layoutdefinitions. Enter the search criteria and choose Filter. If you do not enter any search criteria, the list in the browser area (see below) contains all existing objects. Objectname Category Enter the name (or part of the name) of a printdefinition or layoutdefinition. Limit your search by choosing a category. You can choose from the following options: BAN - Banking BUP - Business Partner CSM - coresuite time DOC - Document

CORESUITE DESIGNER

267

EMP - Employee FIN - Financial GEN - General ITM - Item MRP - MRP OPR - Opportunity PRD - Production PUR - Purchase Reports SAR - Sales Reports SRV - Service STO - Stock USR - User Type Limit your search by choosing a Type. You can choose from the following options: Empty - Choose this option if, for example, you want to choose a label printer directly using the control flag. The difference to the other option is that no template is attached. Master Layout - Choose this option if you want to search for layoutdefinitions of the type Master Layout. With Master Layouts you can, for example, use the same header and footer in several documents. Try to avoid using Master Layouts as they greatly reduce layout flexibility. Document - Choose this option if you want to search for layoutdefinitions of the type Document. Data - Choose this option if you want to search for layoutdefinitions of the type Data. Other - Choose this option if you want to search for layoutdefinitions of the type Other. Select Grid - Choose this option if you want to search for layoutdefinitions of the type Select Grid. External Report - Choose this option if you want to search for layoutdefinitions of the type External Report. External Reports are, for example, Crystal Reports, Excel, etc. User Query - Choose this option if you want to search for layoutdefinitions of the type User Query. Status Limit your search by choosing a Status. You can choose from the following options: Active Inactive Reinstall Activate this checkbox if you want to limit your search to menu reports.

Only Menu Reports

CORESUITE DESIGNER

268

2) Browser area Here the objects are grouped after category, formtype, layoutdefinitions and printdefinitions. You can select individual printdefinition or layoutdefinitions and move them to the actions list using the buttons in the actions area. Category Formtype Printdefinition Layout Version Sys This column indicates the category of the object. This column indicates the formtype of the object. This column indicates the printdefinition. This column indicates the layoutdefinition. This column indicates the version of the object. This column indicates if the layoutdefinition is a system layout. Double-clicking on a row header on the Category, Formtype or Printdefinition level opens the Printdefinition. Double-clicking the row header on the Layout level opens the Layoutdefinition.

3) Actions area In this area you can choose which action you want to execute for the selected object. To do so, select the relevant object and choose the action you want to execute. The selected object then appears in the action list. Export Reinstall Deactivate / Activate Open Choose Export, if you want to export the selected object. Choose Reinstall, if you want to reinstall the selected object. Choose Deactivate or Activate, if you want to deactivate / activate the selected object. Choose Open, if you want to open the selected object (this opens the printdefinition / layoutdefinition).

4) Action list This list displays all objects and the corresponding actions. Action Type Code Description This is the action that you want to perform for the object. This is the type of the object (i.e. Printdef or Layout). This is the code of the object. This is the description of the object.

To delete a line, right-click on the line and choose Delete line. If you are happy with the objects/actions in the list, choose Execute.

CORESUITE DESIGNER

269

6.5.2.1

Export

With the Export function, you can export selected objects. Access Modules > Administration > Add-Ons > coresuite designer > Layoutmanagement. Procedure 1. Open Layoutmanagement. 2. In the browser area (see Layoutmanagement), select the object you want to export and choose Export. 3. Once you have selected all relevant objects, choose Execute.

CORESUITE DESIGNER

270

4. The system lists all objects that you want to export:

Fields Your namespace Here you can enter your namespace. The namespace must be unique and consists of three characters. Entering your namespace is optional. However, it does help you to maintain the layoutdefinitions on your clients' systems. Type Code Description Optional new Code This displays the type of object (Printdef, Text, etc.). This displays the code of the object. This displays the description of the object. You can enter new code here. The system uses this code together with the namespace to automatically create an 8-digit code. If under Your namespace you entered the namespace "NCR" and if under Optional new Code you entered "5", the system creates the code "NCR00005". When you export this layoutdefinition/printdefinition and import it again (e.g. in a customer system), the system imports the layoutdefinition/printdefinition with this new code. As part of the export, the system also adjusts the references in sub-reports. Prepare groups, e.g. USR01000 - USR02000 for Marketing layouts. By doing so, you can categorize the layouts easily and comfortably.

CORESUITE DESIGNER

271

5. Choose Export. 6. A new dialog box appears. Choose the location where you want to save the .xml file, enter a name for the document and save it. 7. The system then performs the export and displays the status of the export process in a protocol window. The protocol window looks like this:

The system also recognizes and exports the following elements: Datasource Queries Copy Queries Language Queries Formtypes Parameters

CORESUITE DESIGNER

272

6.5.2.2

Import

With the Import function, you can import selected objects. Access Modules > Administration > Add-Ons > coresuite designer > Layoutmanagement. Choose Import. Procedure 1. Open Layoutmanagement and choose Import. A new dialog box appears. Navigate to an existing .xml file and double-click on it. 2. The following window appears. In this window you can define the settings for the three main types (Layout, Printdef, Text).

Fields Import Queries to category

Choose Auto assign, to create the query categories according to the structure on the export system. You can also choose a defined query category in which all query categories are summarized (this is shown in the column Querycategories). If you want to set all objects to the same status, you can define it here. You can choose from the following options: Overwrite - Only choose this option if you want to overwrite all existing layouts (i.e. the layouts for which the checkbox Exists is active). In addition, make sure that the Existing Layout name really matches the object that you are going to overwrite. Add new - This option adds the layouts as new layouts. Ignore - If you choose this option, the relevant object will not be imported. This table displays the layouts that you import.

Set all actions to:

Layouts

CORESUITE DESIGNER

273

Code Description

This is the code of the layout. This is the description of the layout.

Querycategories The querycategory only appears if the system has to create it, i.e. if it does not yet exist on the system (also see Import Queries to category above). Existing Layout name Exists Action This is the name of the existing layout. Checkbox active: The layout already exists. Checkbox inactive: The layout does not yet exist. Here you can define the status for each layout if you do not want to import all layouts with the same status. You can choose from the following options: Overwrite - Only choose this option if you want to overwrite the existing layout (i.e. the layout for which the checkbox Exists is active). In addition, make sure that the Existing Layout name really matches the layout that you are going to overwrite. Add new - This option adds the layout as new layout. Ignore - If you choose this option, the relevant layout will not be imported. This table displays the printdefinitions that you import. This is the code of the printdefinition. This is the description of the printdefinition.

Printdefinitions Code Description

Existing Printdef This is the name of the existing printdefinition. name Exists Action Checkbox active: The printdefinition already exists. Checkbox inactive: The printdefinition does not yet exist. Here you can define the status for each printdefinition if you do not want to import all printdefinition with the same status. You can choose from the following options: Overwrite - Only choose this option if you want to overwrite the existing printdefinition (i.e. the printdefinition for which the checkbox Exists is active). In addition, make sure that the Existing Printdef name really matches the printdefinition that you are going to overwrite. Add new - This option adds the printdefinition as new printdefinition. Ignore - If you choose this option, the relevant printdefinition will not be imported.

Texts If text already exists Here you can define what the system should do with text modules. Overwrite - Only choose this option if you want to overwrite all existing text modules. Add new - This option adds the text modules as new text modules. Ignore - If you choose this option, the text modules will not be imported.

3. Once you have defined the settings, choose Execute. 4. The system then performs the import and displays the status of the export process in a protocol window. If you select Add new, any references within the import package will automatically be adjusted.

CORESUITE DESIGNER

274

6.5.2.3

Reinstall

With the Reinstall function, you can reinstall existing printdefinitions and layoutdefinitions that have a version (i. e. that are from a layout package). If you have changed printdefinitions and layoutdefinitions you can reset them to the original status by reinstalling them. When you do a reinstall, the printdefinitions and layoutdefinitions are re-imported from the file system into the database. Access Modules > Administration > Add-Ons > coresuite designer > Layoutmanagement. Select the relevant object, choose Reinstall and then Execute. Procedure 1. Open Layoutmanagement. 2. In the browser area (see Layoutmanagement), select the object you want to reinstall and choose Reinstall. 3. Once you have selected all relevant objects, choose Execute. 4. The system then performs the reinstallation and displays the status of the reinstallation process in a protocol window. Do not perform a reinstallation if you have, for example, amended the layout Mark eting DIN (T0000008) and are using it, because your version of the layout will be overwritten. In this case, we recommend you duplicate the layout first and then update the original layout using the Reinstall function.

6.5.2.4

Activate / Deactivate

With this option you can deactivate active objects (Formtypes, Layouts, Printdefinitions) or activate inactive objects. Access Modules > Administration > Add-Ons > coresuite designer > Layoutmanagement. Select the relevant object, choose Deactivate or Activate and then Execute. Procedure 1. Open Layoutmanagement. 2. In the browser area (see Layoutmanagement), select the relevant object and choose Activate or Deactivate. 3. Once you have selected all relevant objects, choose Execute. 4. The system then performs the activation/deactivation and displays the status of the activation/deactivation process in a protocol window.

CORESUITE DESIGNER

275

6.5.3

Layoutdefinition

In the Layoutdefinition you can define all information related to the layout. To be able to print a report from SAP, often a printdefinition is needed too. Printdefinitions are treated in the next chapter. Access Modules > Administration > Add-Ons > coresuite designer > Layoutdefinition Window

Fields Name Category

Enter a name for the layoutdefinition. Choose a category for the layoutdefinition. You can choose from the following options: BAN - Banking BUP - Business Partner CSM - coresuite time DOC - Document EMP - Employee FIN - Financial GEN - General ITM - Item MRP - MRP OPR - Opportunity PRD - Production PUR - Purchase Reports SAR - Sales Reports SRV - Service STO - Stock USR - User Here you can select from pre-defined formtypes. coresuite designer provides the formtypes for the most important SAP Business One forms.

Design Formtype

CORESUITE DESIGNER

276

Example: The DIN layout can be started from various forms. If you want to start the layout directly from the layoutdefinition (with Preview or Open Designer), you must define the formtype. Type Define the type of your layout. Unless you choose the Master Layout, the type has no impact on the layout. You can choose from the following options: Empty - Choose this option if, for example, you want to choose a label printer directly using the control flag. The difference to the other option is that no template is attached. Master Layout - Choose this option if you want to search for layoutdefinitions of the type Master Layout. With Master Layouts you can, for example, use the same header and footer in several documents. Try to avoid using Master Layouts as they greatly reduce layout flexibility. Document - Choose this option if you want to search for layoutdefinitions of the type Document. Data - Choose this option if you want to search for layoutdefinitions of the type Data. Other - Choose this option if you want to search for layoutdefinitions of the type Other. Select Grid - Choose this option if you want to search for layoutdefinitions of the type Select Grid. External Report - Choose this option if you want to search for layoutdefinitions of the type External Report. External Reports are, for example, Crystal Reports, Excel, etc. User Query - Choose this option if you want to search for layoutdefinitions of the type User Query. Version Code Datasource This indicates the version of the layoutdefinition. This indicates the code of the layoutdefinition. Several design formtypes are available for various data sources. You only have to decide which of them matches your report. Of course, you can also create your own data sources. Choose the format (date format, decimal separator, etc.) for your layout. You can choose from the following options: Default - The system uses the regional settings of the local PC SAP Business One - The system uses the settings in SAP Business One (Modules > Administration > System Initialization > General Settings > Display) Dynamic/country codes - The system uses the CultureInfo classes. Choose the status for your layoutdefinition. You can choose from the following options: Active - the layoutdefinition appears in the menu. Inactive - the layoutdefinition does not appear in the menu. Reinstall - reinstalls the layoutdefinition. For the new layoutdefinition to become active, you must restart coresuite. We recommend doing the reinstall in the Layoutmanagement (see Install).

Format

Status

CORESUITE DESIGNER

277

6.5.3.1

Queries

On the tab Queries you can define datasources that you want to use in coresuite designer. You can also define a second query and link it to the first one. This creates a hierarchy in the Data Viewer. Access Modules > Administration > Add-Ons > coresuite designer > Layoutdefinition > Queries Window

Fields Query 1

Here you can select the relevant data source from the drop-down list. If you cannot find the data source you need, you can create a query in the SAP Query Manager (SAP Menu > Tools > Queries > Query Manager). Example: You would like to see the employee information (name, phone number, etc.). Select the relevant query from the drop-down list.

Query 2

If you would like to enter a sub-query, select it from the drop-down list in this column. Example: You would like to see the most recent orders of each employee. Select the relevant query from the drop-down list.

Link Field 1

Link Field 1 relates to Query 1 and indicates the foreign key from this table. Example (see Query 1): The foreign key for the Employee Master Data (table: OHEM) is "empID". You can enter several keys. If you do so, separate them by semi-colon.

Link Field 2

Link Field 1 relates to Query 1 and indicates the foreign key from this table. Example (see Query 2): In the orders (table: ORDR), the foreign key for the relevant employee from Query 1 is "OwnerCode". You can enter several keys. If you do so, separate them by semi-colon.

My FormType

Define the formtype. The formtype must be unique. You can only edit this column if you

CORESUITE DESIGNER

278

have defined the Type as Select Grid. Title Enter the title for the Select Grid. You can only edit this column if you have defined the Type as Select Grid.

CORESUITE DESIGNER

279

6.5.3.2

Parameters

On the tab Parameters you can define the parameters for coresuite designer. Access Modules > Administration > Add-Ons > coresuite designer > Layoutdefinition > Parameters Window

Field Get from Datasource

Choose Get from Datasource to get the parameters that are available for your report. This function searches all queries and datasources for parameters (format: [%YZE]) and indicates them if they exist. If the function finds a parameter that does not yet exist, you can create the parameter by right-clicking on Functions and choosing Open Parameters. Select the relevant parameter from the drop-down list. Enter a description for the parameter. This is the description that is displayed when a user opens the report. You can enter: Free text Placeholders (see Text List), in square brackets Here you can enter a default value for designing purposes. You can enter the following formats: Drop-down list - a list with two columns in square brackets or a query in square brackets that returns a list [1;Option 1;2;Option 2;3;Option 3] CFL - a list with two columns in curly brackets or a query in curly brackets that returns a list {SELECT CardCode,CardName FROM OCRD ORDER BY [%ordercolumn] [%order]} Default values - Text, number or SQL query that returns a value.

Parameter Description

Design Param Value

Parameter Mode Define the mode for the parameter. You can choose from the following options: Default - Default setting (parameter appears but is already filled in)

CORESUITE DESIGNER

280

Always use design value - deprecated; please no longer use this option No prompt if already filled - If a parameter is defined for an active form (e.g. if you are already on the Business Partner Master Data form), the ID is provided as parameter and is no longer required. Input order If you define several parameters, you can define the order in which you want to display them. The order is alphanumeric. For each parameter that you want to be displayed on the parameter form, you must enter a value here. History Checkbox active: The system saves the parameters in a cache and suggests them again. Checkbox inactive: The system does not save the parameters and does not suggest them again.

CORESUITE DESIGNER

281

6.5.3.3

Details

On the tab Details you can add information and notes. Access Modules > Administration > Add-Ons > coresuite designer > Layoutdefinition > Details Window

Procedure Enter the relevant information in the field and choose Update.

CORESUITE DESIGNER

282

6.5.3.4

Printer

With coresuite designer you can define extensive printer settings. For each layout, you can define the printer and printer tray to be used. For example: For an invoice you can define that pages 1 and 2 are printed on printer A with paper from tray 1, while the last sheet is a pay-in slip that should be printed on printer B with paper from tray 4. Access Modules > Administration > Add-Ons > coresuite designer > Layoutdefinition > Printer Window

Fields User Copy

Select the user for whom the definition applies. Enter, where the copy should be printed. The number of copies is defined in the Printdefinition (Printdefinition > Document > Copies). Example: You want to print two copies. The first copy should be printed on printer A and the second copy should be printed on printer B. To do so, add two rows: In the first row, you enter the value "0" in the column Copy (i.e. copy 1) and the value "A" in the column Printer. In the second row, you enter the value "1" in the column Copy (i.e. copy 2) and the value "B" in the column Printer.

Page

Define which copies you want to print on which printer. You can choose from the following options: All other - Choose this option to print all/all remaining pages on the selected printer. First Page - Choose this option to print the first page on the selected printer. Last Page - Choose this option to print the last page on the selected printer. Select the formtype from the drop-down list. This is necessary, because the same layout

FormType

CORESUITE DESIGNER

283

can be used for several formtypes. Example: The layout for an invoice, an offer or an order is the same. Free Text Here you can enter free text that you have defined in the Printdefinition (Modules > AddOns > coresuite designer > Printdefinition > Document > Free Text). Example: You want to use the same layout for two print jobs: an offer and a production list. In the printdefinition, you have defined the free text "Prod list". Re-enter "Prod list" in the column Free Text here in the Layoutdefinition to instruct coresuite designer to use the layout that you have defined for the production list. The free text needs to be written in the exact same way as in the printdefinition. Lang Select the language that should be displayed in the layout. This can also have an impact on the format (date/decimal separator) if in the Layoutdefinition under Format you have chosen the option "Country". Checkbox active: Before printing, the system displays a window where you can amend the number of copies or change the printer. Checkbox inactive: The document will be printed directly, the system does not display an additional window before printing. In this field you can enter a server path to a network printer. You can also select a printer from the drop-down list in the next column. If you have not entered a server path to a network printer in the column Printer, select the printer from the drop-down list. This field displays the printer tray that you can choose in the next column. Select the relevant printer tray from the drop-down list. Select the layoutdefinition from the drop-down list that you want to use to print the back side of the document. This function is not supported for external reports.

Choose

Printer P Tray P Back side Layout

CORESUITE DESIGNER

284

6.5.3.5

Users

On the tab Users you can define which users are authorized to use the layout. With this function, you can restrict data, e.g. a financial report, to certain people. Access Modules > Administration > Add-Ons > coresuite designer > Layoutdefinition > Users Window

Fields Enable only for following Users Authorisation

Checkbox active: Only the users defined under Users can access the layoutdefinition. Checkbox inactive: The system ignores any settings under Users. This button opens the SAP window Authorizations. There you can define the authorizations for coresuite designer datasources for each user (in the window Authorizations go to coresuite designer > Datasources > choose the layout category > choose the name of the authorization). This button is only active if in the header area of the Layoutdefinition you choose a Datasource for which you can define authorizations. If the button is active, you can see which users have which authorizations and you can change them, if necessary. Select the relevant user from the drop-down list whom you want to grant access to the layoutdefinition. It is possible to select several users.

User

If a user tries to access a layoutdefinition for which he has not authorization, the system displays an error message.

CORESUITE DESIGNER

285

6.5.3.6

External Report

Access Modules > Administration > Add-Ons > coresuite designer > Layoutdefinition > External Report Window

Fields Data Export Options: Data Export Format Define the format for the data export. You can choose from the following options: No Export - No data is exported and no files are saved in the cache. Opening an application from the menu or from am form. Excel / Word - Generates a dataSchema and a data file (.xml files), which are saved in the cache. Displaying a report in Excel (see Example 1 below) CSV File(s) - Generates a .csv file per query. The files are saved in the cache. Word serial letter Crystal Reports - Generates a dataSchema file (.xml file), which is saved in the cache. Displaying a report in Crystal Reports Xcelsius XML - Generates a data file (.xml file), which is saved in the cache. Creating a dynamic dashboard Simple Xcelsius XML - Generates a data file (.xml file), which is saved in the cache (see Example 2 below). Creating a simple dynamic dashboard that works independently of the name of the query DataSet XML - Generates data file only (.xml file).

CORESUITE DESIGNER

286

General applications that use the data-file only. DataSet Schema - Generates dataSchema file only (.xml file). Applications that use the DataSchema file only. Connection Type This option is available only if under Data Export Format you have chosen the option Crystal Reports. Choose from which Database the report gets the data: From File - Uses the connection that is indicated in the file (e.g. when data from several databases should be displayed). Current Company - Uses the current SAP Business One company database (default setting). Activate this checkbox if you want to export system information on the current company/ user (OADP, OADM and OUSR tables). Activate this checkbox if you want to export the parameters that are defined for the current layoutdefinition. Activate this checkbox if you want to export all texts from the table SWA_LD_Text in the current language. Define the interval (in seconds), in which the data files should be refreshed.

Optionally export Company/User Parameter Text

Refresh [seconds]

Generate Data Activate this checkbox if you want to create the data file only, i.e. without creating a Only (Do not preview. launch Preview) File Options: File Path File Id Open in Explorer Use Design File Enter the path to the file that should be opened when you choose Preview. Shows the name of the folder in the explorer. This is the main folder that contains all files for the current layoutdefinition. Opens the folder that contains the file. Enter the path to the file that should be opened when you choose Open Designer. Checkbox active: The file will be used. Checkbox inactive: The file will not be used. The file that opens when you choose Preview is saved in the database/the database is updated. This enables the import and export of the layoutdefinition to/from other databases. The file that opens when you choose Preview is exported from the database and is removed from the database. The file is then saved in the explorer and will be opened directly from there. Checkbox active: The file that opens when you choose Preview is started from the database. Checkbox inactive: The file that opens when you choose Preview is opened from the Explorer.

Deployment options: Save in DB

Remove from DB Deploy File from Database

In some cases it is useful to use both a Preview file and a Design file, in other cases it is useful to just have a Preview file. The following examples illustrate the difference: Simple Excel export: You want to export data to Excel. To do this, you only need a Preview file. This file is also used when you choose Open Designer.

CORESUITE DESIGNER

287

Xcelsius Dashboard: To display and edit Xcelsius files, you need both a Preview file and a Design file. The Design file is the .xlf file that Xcelsius start, when you choose Open Designer. The Preview file is a flash file that Xcelsius exports and which is also used when you choose Preview. If you need only one file, use the Preview file, because this is multi-user enabled. All External Report files are saved in the Extension Folder. You can define the path here: Modules > Administration > System Initialization > General Settings > Path > Extension Folder. If you do not define a path in the Extension Folder, the files will be saved in the add-on in the structure SWA_LD.

CORESUITE DESIGNER

288

Example 1 - Create report in Excel 1. Open the layoutdefinition and search for "Campaign". Select the layoutdefinition "Business Partner Campaign - Select Grid" and duplicate it. 2. Change the name of the layoutdefinition to "Display addresses in Excel (form letter)". 3. Choose Update. 4. Go to the tab Queries and delete the entries under My FormType and Title and choose Update. 5. Change the Type to External Report and choose Update. 6. Go back to the tab External Report. 7. Enter the following data: Data Export Format Parameter Choose Update. File Path File Id Select the template Template Excel2007WithoutMacro. This ID appears automatically after you have defined the file path to the template. Excel / Word Activate this checkbox.

8. Choose Open Designer. 9. The window Parameter: Display addresses in Excel appears. This window displays all parameters that are listed on the tab Parameters in the layoutdefinition. If do not want to display a certain parameter, set the Design Param Value for this parameter to "01" and delete the value under Input Order. 10. Choose OK. The report will now be opened in Excel. 11. In the Excel file, go to Source and Choose XML Maps. Choose Add and enter the path to the File Id (see above). Select the dataSchema file and choose OK. 12. The parameters now appear in the Excel file on the right hand side under XML Source. 13. Now you can drag and drop the relevant parameters from XML Source into the Excel worksheet. For our example, drag the parameter CardCode into the worksheet. Next, drag the folder BPSelectGrid into the worksheet. Right-click on this entry and choose Import. Select the data file. The data now appears in the Excel worksheet. 14. Save the Excel report in the relevant location or close it without saving your changes. Opening the report directly from the menu You can also open the Excel report directly from the menu. To do so, go to the tab Menu and enter the menu point from where you want to open the report.

CORESUITE DESIGNER

289

Example 2 - Creating a simple dynamic dashboard that works independently of the name of the query 1. Open the layoutdefinition and search for "Sample". Select the layoutdefinition "Sample Column Chart-Stock (GEN70002)" (also see Sample Column Chart - Stock (GEN70002)) and duplicate it. 2. Change the name of the layoutdefinition to "Chart-Stock on order". 3. Choose Update. 4. Open the Query Manager, go to category SWA_LD-SYS-STO and select the entry COR_COL_Top12ItemsOnHand. 5. Click on the pen to the right of the query, right-click the query and choose coresuite Script Editor to edit it. 6. Replace all occurrences of "Is Committed" with "On Order" and all occurrences of "IsCommitted" with "OnOrder" in the query. Choose OK and save the query with the name "MyStockQuery" in the category SWA_LD-SYS-STO. 7. Go back to the layoutdefinition and set the Refresh interval to 20 seconds. 8. Choose Preview. The dashboard appears. 9. When you now change the quantity on a purchase order, this change will appear on the dashboard within 20 seconds.

CORESUITE DESIGNER

290

6.5.3.6.1

Templates

The following templates are installed with coresuite:

File

Description

Excel2007WithInit Excel 2007 file with initialization macro that automatically connects to the Xml (Developer Macro Tools Tab in Excel). Excel2007Without Empty Excel 2007 file. Macro Word2007MailMer Example for form letter using macros. Use the macro "AddDataSource" to update the ge field list. XcelsiusDashboar Empty Xcelsius xlf file. d EmptyReport_Lan Empty Crystal Reports rpt file in landscape format. dscape EmptyReport_Por Empty Crystal Reports rpt file in portrait format. tait Ensure that the macro security settings are set to low. When you press the Enter key when you open Office documents, the macros are not executed.

CORESUITE DESIGNER

291

6.5.3.7

Menu

On the tab Menu you can define new menus/menu points. Access Modules > Administration > Add-Ons > coresuite designer > Layoutdefinition > Menu Window

Fields User area Parent

You can edit anything in this area. Select the relevant parent from the drop-down list. The parent is an existing SAP Business One menu point. Example: If you want that the element appears in the menu point Bank ing, select the entry "Banking" from the drop-down list.

Description

Enter the description for the new menu point. You can also use placeholders, i.e. dynamic text codes that will be displayed in the language of the active system (see Text List). If you do not enter a description, the system displays the menu point with the Name. If you assign several layouts to a parent, you can define the order for the layouts here. Optional: The parameter [%MenuFunction] will be filled with the value set in this column whenever you open the report from this menu entry. You can use this parameter [% MenuFunction] anywhere, for example to set different filters.

Pos Function

CORESUITE DESIGNER

292

System area

This area is managed by the system. You can edit the Parent, Description and Position of the menu entry, but you cannot delete or add rows. We recommend you do not change the data in this area, if possible. Displays the unique ID. You cannot edit this. Displays the parent. Displays the description of the new menu point. Displays the order for the layouts. Indicates the value of the parameter [%MenuFunction]. You cannot edit this.

Id Parent Description Pos Function

Choose Update Menu to update the entire menu structure.

CORESUITE DESIGNER

293

6.5.4

Printdefinition

In the Printdefinition is the connection between one or more layoutdefinitions and one formtype. Access Modules > Administration > Add-Ons > coresuite designer > Printdefinition Window

Fields Name FormType Language Shortcut

Enter the name of the printdefinition. Select the formtype from the drop-down list, to which you want to assign layoutdefinitions. Select the language for the printdefinition from the drop-down list. You can override this language for each layout (also see Documents > Language). Here you can define a shortcut for the printdefinition. You can choose from the following options: No Key Ctrl Alt This key is useful if you have assigned several printdefinitions to a formtype. Usually, after you choose (Preview) from the formtype, the system displays the list of available printdefinitions for this formtype. If you use printdefinition "A" more often than printdefinition "B", you can assign a key to printdefinition "A", e.g. "Ctrl". In this case, you can use the combination + Ctrl on the formtype. By doing so, you can skip the selection of printdefinitions, and the system uses printdefinition "A".

Checkboxes

Here you can choose when the printdefinition should be opened. The printdefinition will be

CORESUITE DESIGNER

294

opened when you choose Print after Save Print Email Fax PDF MS Word MS Excel Status

in the tool bar. You can choose from the following options:

Choose the status for your printdefinition. You can choose from the following options: Active - the layoutdefinition appears in the menu. Inactive - the layoutdefinition does not appear in the menu. Reinstall - reinstalls the layoutdefinition. For the new layoutdefinition to become active, you must restart coresuite. We recommend doing the reinstall in the Layoutmanagement (see Install).

You can also open the printdefinitions from the relevant form by choosing

(Layoutdesigner).

You can duplicate printdefinitions using the context menu. To do so, right-click on the printdefinition and choose Duplicate.

CORESUITE DESIGNER

295

6.5.4.1

Documents

On the tab Documents, you can define layouts and the corresponding definitions. Access Modules > Administration > Add-Ons > coresuite designer > Printdefinition > Documents Window

Fields Layout

Select the layout from the drop-down list for the printdefinition. If you want to print several reports, also with different layoutdefinitions, while running a printdefinition, you can do this by adding a new row. Enter how many copies you want to print. M. stands for mass printing (which is the same as batch printing). As opposed to normal printing, you can define a different number for copies for scheduled printing jobs (SAP Document Printing) and batch printing jobs (coresuite select grid). In this column you can enter free text which can be used as a parameter in the Layoutdefinition (Layoutdefinition > Printer > Free Text). Enter a file name for the document. This file name is used if you export the document in PDF format (see Printdefinition > Checkboxes). Choose the language in which the layout should be printed. This setting overrides the setting in the header area of the printdefinition under Language. Example: You want to print a delivery note and a production order (2 different layouts). You want to print the delivery note in the language of the customer and the production order in the language of the team. Define the relevant language for each layout.

Copies Copies M.

Free Text Export File Name Language

Printjob Option

Here you can define settings if you are printing documents that need to be stapled or

CORESUITE DESIGNER

296

folded. You can choose from the following options: Standard - see below Group 1 - see below Group 2 - see below Group 3 - see below 1 Job per Copy - With this option, each job is treated separately. Driver Copy - Choose this option if you print large volumes of the same document (this prevents the system from crashing). If you choose the same option for two print jobs (e.g. Group 2 for both print jobs), the print jobs are processed as one job, e.g. everything will be stapled together. If you choose two different options for both jobs (e.g. Group 1 for the first print job and Group 2 for the second print job), the two jobs are processed separately.

CORESUITE DESIGNER

297

6.5.4.2

Extended Definition

On the tab Extended Definition you can define extended definitions for the printdefinition. Access Modules > Administration > Add-Ons > coresuite designer > Printdefinition > Extended Definition Window

Fields Matrix Id Parameter Expression

Enter the description of the grid/matrix that should be taken into account. If you want to print a layout from a certain tab, you can enter the relevant SQL query here. Example: You want the printdefinition to be active only if the user is on the Sales Order on the tab Logistics. In this case you would enter the following query: '[%logistic]' = 'Y'

Open Word/ Excel/PDF Name Id Multilanguage Name

Checkbox active: The document will be opened in the relevant Microsoft program. Checkbox inactive: The document will be opened in SAP. Here you can define a unique ID for the current printdefinition. You can then use this ID in customize rules, for example. If you want to display the name of the printdefinition in the current system language, just enter the relevant text code in this field. Example: You have defined two printdefinitions for the Sales Order. When you open the Sales Order and choose the icon Preview from the menu bar, a select grid appears in which the two printdefinitions are listed. Using the field Multilanguage Name you can display the names in this list in the current system language. To do so, just enter the relevant text code, e.g. [@T0000009].

CORESUITE DESIGNER

298

For more information about text codes, refer to Text List.

CORESUITE DESIGNER

299

6.5.4.3

Email/Fax

On the tab Email/Fax you can define if coresuite designer should generate e-mail or fax messages. Access Modules > Administration > Add-Ons > coresuite designer > Printdefinition > Email/Fax Window

Fields File Type

Choose which format should be used for attachments. You can choose from the following options: PDF RTF TIF GIF EMF JPG BMP XLS Choose the mode for sending messages. You can choose from the following options: 0 - Standard - This option prioritizes Outlook. 1 - SAP Prompt - This option uses the SAP Business One Mailer Service and displays a preview of the e-mail before it is sent. 2 - SAP direct - This option uses the SAP Business One Mailer Service without showing a preview of the e-mail first. 3 - Smtp Prompt - This option sends the e-mail via the configured Smtp service (see Email(Smtp)) and displays a preview of the e-mail before it is sent. 4 - Smtp direct - This option sends the e-mail via the configured Smtp service (see

Send Mode

CORESUITE DESIGNER

300

Email(Smtp)) without displaying a preview of the e-mail first. 5 - MAPI Prompt - This option uses the Windows default client and displays a preview of the e-mail before it is sent. 6 - MAPI direct - This option uses the Windows default client without displaying a preview of the e-mail first. 7 - SAP Fax - This option is available, but does not yet work, because SAP Business One is not yet compatible. Res. Quality Res. stands for resolution and indicates the resolution for the attachment. Enter the resolution in dpi (dots per inch). Here you can define the print quality for embedded pictures. Enter the print quality in percent. During the export, all pictures are converted to the JPEG format (even if they were in PNG or TIFF format). Enter the export path. If you do not enter an export path, the system saves the exported files under tempfolder\swald\dbname\export. Enter the e-mail address(es) of the recipient(s). You can enter the e-mail address as follows: e-mail address (if you enter several e-mail addresses, separate them by semi-colon) query If you want to send a carbon copy of the email, enter the e-mail address(es) of the recipient(s) here. You can enter the e-mail address as follows: e-mail address (if you enter several e-mail addresses, separate them by semi-colon) query If you want to send a blind copy of the email, enter the e-mail address(es) of the recipient (s) here. You can enter the e-mail address as follows: e-mail address (if you enter several e-mail addresses, separate them by semi-colon) query Enter the subject for the e-mail. You can enter the subject as follows: placeholder query free text combination of the above Enter the body text for the e-mail.

Exportpath To Address

CC

BCC

Subject

Email Text

Html(Mode 0,3,4) Activate this checkbox if you want that the e-mail can also be displayed in HTML format. The HTML format can only be used if under Send Mode you chose the option 0 - Default, 3 - Smtp Prompt or 4 - Smtp direct. From Address Enter the sender of the e-mail. You can enter the sender as follows: name e-mail address (if you enter several e-mail addresses, separate them by semi-colon) Here you can define the priority, with which the e-mail is sent. You can choose from the following options: 1 = high priority 2 = medium priority 3 = low priority

Prio (1,2,3)

CORESUITE DESIGNER

301

6.5.4.4

BP

deprecated - please no longer use this We recommend you manage the user authorizations using copy queries (Printdefinition > Documents > Copies/Copies M.).

CORESUITE DESIGNER

302

6.5.5

Functions menu

This chapter describes the most important options that are available in the Functions menu. Access Modules > Administration > Add-Ons > coresuite designer > Layoutdefinition > right-click on Functions or Modules > Administration > Add-Ons > coresuite designer > Printdefinition > right-click on Functions

6.5.5.1

Open Data Viewer

Access Modules > Administration > Add-Ons > coresuite designer > Layoutdefinition > right-click on Functions > Open Data Viewer Goal With this option you can verify if your query / the link between the queries works. The tooltip shows you additional information, e.g. the number of rows.

CORESUITE DESIGNER

303

6.5.5.2

Open Querygenerator

Access Modules > Administration > Add-Ons > coresuite designer > Layoutdefinition > right-click on Functions > Open Querygenerator or Modules > Administration > Add-Ons > coresuite designer > Printdefinition > right-click on Functions > Open Querygenerator The window Query Generator appears. Window

For more information about the Query Generator please refer to the official SAP Business One documentation.

CORESUITE DESIGNER

304

6.5.5.3

Open Querymanager

Access Modules > Administration > Add-Ons > coresuite designer > Layoutdefinition > right-click on Functions > Open Querymanager or Modules > Administration > Add-Ons > coresuite designer > Printdefinition > right-click on Functions > Open Querymanager The window Query Manager appears. Window

For more information about the Query Manager please refer to the official SAP Business One documentation.

CORESUITE DESIGNER

305

6.5.5.4

Open Texts

With this option you can add text modules or amend existing text modules. For each text modules you can define the relevant translations (see Translate). Access Modules > Administration > Add-Ons > coresuite designer > Layoutdefinition > right-click on Functions > Open Texts or Modules > Administration > Add-Ons > coresuite designer > Printdefinition > right-click on Functions > Open Texts or go to Tools > Default Forms > SWA_LD_TEXT - Text. The window Text appears. In this window, the standard language is displayed (i.e. the language that you defined in the Configuration under Text). Window

Fields Code Text

Code of the text module. Do not enter anything here; this code is assigned automatically when you save the text module. Text of the text module.

CORESUITE DESIGNER

306

Procedure Add new text modules Enter the relevant text in the column Text and choose Update. The system then automatically assigns this text module a code. Edit existing text modules You can edit the text in coresuite Script Editor. To open coresuite Script Editor, right-click the relevant entry and choose coresuite Script Editor from the context menu. For more information, please refer to coresuite Script Editor. Translate text modules Please refer to the chapter Translate.

CORESUITE DESIGNER

307

6.5.5.4.1

Translate

With this option you can translate text modules. The translations are then loaded dynamically into the relevant layout using the assigned code. This function enables you to manage multi-lingual documents easily and comfortably. You are using an invoice in 10 different languages. Now you want to amend the layout and amend some of the text. Since the layout is managed independently of the text, you only need to change it once - it then applies to all languages. The text modules are managed centrally. This means, you only need to change the text modules in one place and you do not need to amend 10 individual layouts. Access Modules > Administration > Add-Ons > coresuite designer > Layoutdefinition > right-click on Functions > Open Texts or Modules > Administration > Add-Ons > coresuite designer > Printdefinition > right-click on Functions > Open Texts or go to Tools > Default Forms > SWA_LD_TEXT - Text. In the window Text, right-click on the entry you want to translate and choose Translate. The window Translations appears. Window

For more information about the Translations window please refer to the official SAP Business One documentation. Procedure 1. Enter the relevant language in the column Language. 2. Enter the translation in the column Translation. 3. Choose Update.

CORESUITE DESIGNER

308

6.5.5.4.2

coresuite editors

When you use coresuite, you can use various editors in SAP Business One text fields. To do so, the coresuite designer module must be installed and active. If you copy text from an editor, you must leave the editor open until you paste the text. If you close the editor before pasting the text, the copied text is no longer available. 6.5.5.4.2.1 coresuite Editor With this editor, you can color text, display it as bold, in italics, underlined, etc.. Use this editor for remarks on marketing documents, for example (e.g. on the delivery). This editor corrupts special characters: e.g. ">" becomes "&gt;". Do not use this editor for code or queries. By default, all users have access to the coresuite Editor. To change this setting, go to Modules > Administration > System Initialization > Authorizations > General Authorizations > User Authorization > coresuite designer > coresuite Editor). 6.5.5.4.2.2 coresuite Script Editor This is the editor for simple code sequences. Use this editor for code and queries. By default, only superusers have access to the coresuite Script Editor. You can change this setting under Modules > Administration > System Initialization > Authorizations > General Authorizations > User Authorization > coresuite designer > coresuite Script Editor).

CORESUITE DESIGNER

309

6.5.5.5

Open Parameters

With this option you can create parameters and link them to the relevant formtype. Access Modules > Administration > Add-Ons > coresuite designer > Layoutdefinition > right-click on Functions > Open Parameters or Modules > Administration > Add-Ons > coresuite designer > Printdefinition > right-click on Functions > Open Parameters The window Parameters appears. Window

Fields Code Key (In Queries)

Code of the parameter. Do not enter anything here; this code is assigned automatically when you save the parameter. Indicate with which key the parameter has been used in the query. If you use the parameter "empID" in a query, you must use it in the following form: [%empID] For alphanumeric keys, the parameter must be written with inverted commas in the query, e.g.: '[%empID]'

Type of Parameter

Select the type of the parameter from the drop-down list. You can choose the following options: Numeric Alphanumeric Date Enter the ID of the field that you want to you use as parameter. In the menu bar, choose View > System Information. If you now move the mouse over the field that you want to use as parameter, the ID of the field appears in the status bar. Example: You want to find out the ID of the field Employee No. in the Employee

Item Id

CORESUITE DESIGNER

310

Mater Data. To do so, open the Employee Master Data (Modules > Human Resources > Employee Master Data) and move the mouse over the field Employee No. The status bar at the bottom of the screen displays the following information:

You can see that the ID of the field Employee No. is "33". Matrix Id Use Rownumber Open Array Define the matrix to be taken into account. deprecated - please no longer use this Select the relevant row and choose Open Array. This opens a new window where you can link the parameter to a formtype. To do so, just select the relevant formtype from the drop-down list and choose Update and then OK.

CORESUITE DESIGNER

311

6.5.5.6

Open Formtypes

With this option you can define a formtype if it is not yet available in the printdefinition. Access Modules > Administration > Add-Ons > coresuite designer > Layoutdefinition > right-click on Functions > Open Formtypes or Modules > Administration > Add-Ons > coresuite designer > Printdefinition > right-click on Functions > Open Formtypes The window Form Types appears. Window

Fields Code Formtype

Code of the formtype. Do not enter anything here; this code is assigned automatically when you save the formtype. Enter the ID of the formtype. You can find the formtype using the System Information. In the menu bar, choose View > System Information. If you now move the mouse over the relevant object, the ID of the formtype appears in the status bar (Form=XY). Enter the name of the formtype. Enter the object ID on the form. You can find the object ID using the System Information (ID=XY). This is needed for forms that have the same structure, e.g. for Sales Quotations (OQUT), Sales Orders (ORDR) and Deliveries (ODLN). The tables behind these forms have the same structure, so there is no point in writing individual queries for all of them. The expression in this column replaces the expression in the column Replace. Example: A query like "SELECT CardCode FROM O@@RDR" works on the Sales Quotation, the Sales Order and the Delivery, because "@@RDR" will be replaced by "QUT", "RDR" and "DLN" respectively.

Name Object Id Replace

With

Category

Assign the formtype to the relevant category.

CORESUITE DESIGNER

312

6.5.6

Reportwizard

The Reportwizard helps you create a layoutdefinition. Access Modules > Administration > Add-Ons > coresuite designer > Reportwizard 1 - Which Category should be used?

Fields Category

Select a category for the layoutdefinition from the drop-down list. You can choose from the following options: BAN - Banking BUP - BusinessPartner CSM - coresuite time DOC - Document EMP - Employee FIN - Financial GEN - General ITM - Item MRP - MRP OPR - Opportunity PRD - Production PUR - Purchase Reports SAR - Sales Reports SRV - Service STO - Stock USR - User This category will appear in the Layoutdefinition under Category.

CORESUITE DESIGNER

313

2 - Which Datasource should be used?

Field User Datasource Enter a search term in the yellow field and then press the Tab key. They system displays a ChooseFrom list from which you can select the relevant datasource. This entry will appear in the Layoutdefinition under Queries. You can also leave this field empty and choose Next.

CORESUITE DESIGNER

314

3 - How would you like to use the report?

Fields Layout Name Start Report from Menu Start Report from Form

Enter the name for the Layoutdefinition. This entry will appear in the Layoutdefinition under Name. Choose this option if you want that the report can be started from the menu. Choose this option if you want that the report can be started from the relevant form.

CORESUITE DESIGNER

315

4a - Where in the menu should the report be placed (Use System Information and the Modules menu to retrieve the ID)?

Fields Menuposition Menu Description

Select the menu point from the drop-down list, under which the report should appear. This entry will appear in the Layoutdefinition under Menu > Parent. Enter the description that should appear for the report. This entry will appear in the Layoutdefinition under Menu > Description.

This window appears if you chose the option Start Report from Menu in the previous step.

CORESUITE DESIGNER

316

4b - For which form this layout should be valid? Select an existing form or define a new one.

Fields Use existing Formtype

Select the formtype from the drop-down list from which the report can be started or select Define New, to define a new formtype. Here you can create a new formtype (instead of right-click on Function on the Layoutdefinition or Printdefinition). This entry will appear in the Layoutdefinition under Design Formtype. Enter the ID of the new formtype. This entry will appear in the Printdefinition under FormType. Enter the description for the new formtype. This entry will appear in the Printdefinition under FormType.

New Formtype ID Description

This window appears if you chose the option Start Report from Form in the previous step.

CORESUITE DESIGNER

317

5 - Parameterdefinition first step

Fields System Datasource Extracted Key Map to this Key

Select the relevant system datasource from the drop-down list. The options available in the drop-down list change depending on the category that you chose at the beginning. In this column, the system displays the available parameters and queries. You can change these entries. If you enter a key here, this overwrites the query.

Parameter Type In this column, the parameter type appears. There are three types: A (Alphanumeric) D (Date) N (Numeric) You can change these entries.

CORESUITE DESIGNER

318

6 - Parameterdefinition last Step

Fields Key Description Value

In this column, the key of the parameter appears. This entry will appear in the Layoutdefinition under Parameters > Parameter. Here you can enter a description for the parameter. This entry will appear in the Layoutdefinition under Parameters > Description. Here you can enter an example value. This value will then appear in the Layoutdefinition under Parameters > Design Param Value. Here the type of the parameter appears. There are three types: A (Alphanumeric) D (Date) N (Numeric) This value will appear in the Layoutdefinition under Parameters > Parameter Mode. Activate this checkbox if you want to define the input order. You can amend the input order later in the layoutdefinition under Parameters > Input order.

Type

Input

Choose Create. The system then displays the Layoutdefinition that you created with the Reportwizard. You can add more information to the Layoutdefinition if needed.

CORESUITE DESIGNER

319

6.5.7

Text List

The Text List offers an overview over the coresuite text modules. The content of this list is the same as in the list that opens when you use Open Texts. However, it has the advantage that you can use Ctrl+F to search for text. Access Modules > Administration > Add-Ons > coresuite designer > Text List. The window Text List appears. Window

Choose the orange arrow next to the relevant entry. The window Text appears. Here you can amend the text (also see Open Texts].

CORESUITE DESIGNER

320

By right-clicking on an entry and choosing Translate, you can enter/amend the relevant entry (also see Translate).

When you upgrade coresuite designer, all text codes from T0009000 to T0009999 will be overwritten. These text codes can be found in the .xml file cor_txt_meta.xml.

CORESUITE DESIGNER

321

6.5.8

Sample Queries

This report contains all queries that are available in the system. When a new query is added (e.g. as part of an update), the list will be updated automatically. Access Modules > Administration > Add-Ons > coresuite designer > Sample Queries. The window Sample Queries appears. Window

CORESUITE DESIGNER

322

6.6
6.6.1

coresuite designer reference guide


Practical example 1 - Creating a simple layout

Scenario For the same items, your customers use other catalog numbers than you do. You have saved the customers' catalog numbers in the Business Partner Catalog Numbers (Modules > Inventory > Item Management > Business Partner Catalog Numbers):

Goal You want to create a dynamic report, which displays your catalog numbers on the left, and the customer's catalog numbers on the right. The report should look like this:

CORESUITE DESIGNER

323

Procedure To create this report, the following steps are necessary: 1. Create printdefinition 2. Create formtype 3. Create parameter 4. Create query 5. Create layoutdefinition 6. Format the layout

CORESUITE DESIGNER

324

6.6.1.1

Create printdefinition

In the first step, you have to create the printdefinition. 1. Open the Printdefinition (Menu Bar > Tools > Print > Select Design or go to Modules > Administration > Add-Ons > coresuite designer > Printdefinition). 2. Create a new Printdefinition with the following data: Name Catalog Numbers 993 You first need to define this formtype. For instruction, please refer to Create formtype. You can leave all other fields empty. They are either not relevant or will be filled in automatically. 3. Choose Add. 4. Next you need to check if the print definition works. To do so, go to the tab Document and select the parameter GEN:Parameter Check from the drop-down list in the column Layout. In the column Copies you enter "1". Later, you must replace this parameter with the new parameter BUP:Catalog Numbers (also see Create layout definition, step 3). 5. Start the preview from the window Business Partner Catalog Numbers. The document that appears offers an overview over the parameters that are available: FormType

CORESUITE DESIGNER

325

6.6.1.1.1

Create formtype

From the System Information (Menu Bar: View > System Information) you can see that the formtype of the window Business Partner Catalog Numbers is "993". In the field FormType in the printdefinition this formtype is not defined yet, which means you cannot select it in the drop-down list. Therefore, you first need to create this formtype. To do so, proceed as follows: 1. In the Printdefinition, right-click on Functions and choose Open Formtypes. 2. Enter the following data in the window Form Types: Formtype 993 Name Category Catalog Numbers Business Partner

You can leave all other fields empty. They are either not relevant or will be filled in automatically. 3. Choose Update and OK. You have now created the formtype and it is now available for selection in the FormType drop-down list.

6.6.1.2

Create parameter

To display the data in the report, you must define a key. In our example, the key is the value Code in the window Business Partner Catalog Numbers. The ID of this field is CardCode (you can see this in the System Information). Since this ID does not appear in the document, you must first create it. To do so, proceed as follows: 1. In the printdefinition or layoutdefinition, right-click on Functions and choose Open Parameters. 2. Create a parameter with the following data: Key (In Queries) CardCode (you can see this in the System Information) Type of Parameter Item Id Alphanumeric

10 (you can see this in the System Information: Item=10) You can leave all other fields empty. They are either not relevant or will be filled in automatically. 3. Next, you must link the parameter to the formtype. To do so, right-click on the row header of the parameter you just created. The window SWA_LD Param FormType - Definition [Code of the parameter] appears. Select the formtype Catalog Numbers from the drop-down list. Choose Update and OK in this window and then in the window Parameter. 4. Check the new values by starting again the preview from the form Business Partner Catalog Numbers. You can see that now the parameter CardCode is there:

CORESUITE DESIGNER

326

6.6.1.3

Create query

In order for the data from the table in the window Business Partner Catalog Numbers to be displayed, you must create a query. From the System Information you can see that the ID of this table is "OSCN". Use the Query Generator (Open Querygenerator) to create the following query (for more information on the Query Generator please refer to the official SAP Business One documentation): SELECT T1.* FROM OSCN T1 WHERE T1.CardCode = '[%CardCode]' Save this query in the category SWA_LD_Data with the name Catalog Number. You must not use point in the name of the queries, since this will make the system crash.

CORESUITE DESIGNER

327

6.6.1.4

Create layoutdefinition

Next you must create a layoutdefinition. 1. Create a layoutdefinition with the following data: Window header Name Category Type Tab Queries Query 1

Catalog Numbers BusinessPartner Data

Select the query SWA_LD_Data:Catalog Numbers that you have just created from the drop-down list.

Tab Parameters Choose Get from Datasource. Parameter After you choose Get from Datasource, this field is filled automatically. Description Design Param Value GP Code Enter the example value "C70000" (this is the code of the business partner: see screenshot at the start of the chapter).

Parameter Mode Default You can leave all other fields empty. They are either not relevant or will be filled in automatically. 2. Choose Add. 3. Now you have created the Layoutdefinition and you can use it in the Printdefinition. To do so, replace the parameter GEN:Parameter Check , which you have entered in the Printdefinition on the tab Documents in the column Layout with the new parameter BUP:Catalog Numbers that you have just created.

CORESUITE DESIGNER

328

6.6.1.5

Format the layout

After creating the Layoutdefinition, choose Open Designer. Amend an existing layout or create a new one, that looks similar to the one below:

Next, you must link the values on the layout with the values from the system. To do so, activate the relevant element and choose Editor. Field 1 2 3 4 5 6 7 CardCode CardCode Our Reference Your Reference According to our Catalog According to your Catalog Our Item Binding CardCodeD [Description] CardCode [actual value] Not necessary, as this is not a dynamic header. Not necessary, as this is not a dynamic header. Not necessary, as this is not a dynamic header. Not necessary, as this is not a dynamic header. ItemCode (Bindings). Go to the field Value and open the Script

Path (Data Sources > LD > Par > CardCodeD) (Data Sources > LD > Par > CardCode) (Bands > Catalog

CORESUITE DESIGNER

329

[the tooltip shows that these are "our" catalog numbers, e.g. A00001] 8 Your Item

Numbers > ItemCode)

Substitute (Bands > Catalog [the tooltip shows that these are the Numbers > Substitute) customer's catalog numbers, e.g.abc0009]

6.6.1.6

Finished layout

CORESUITE DESIGNER

330

6.6.2

Practical example 2 - Multilingual document

Scenario Your company runs a special offer in July and you want to let your customers know. Goal On the Sales Order you want to add additional text that promotes the special offer. You want this text to appear in the language of the relevant business partner. The layout should something like this:

CORESUITE DESIGNER

331

Procedure To add this special text, the following steps are necessary: 1. Adjust printdefinition 2. Create promotion text 3. Create translations for the promotion text 4. Adjust the layout using coresuite designer 5. Check the layout

6.6.2.1

Adjust printdefinition

1. Open a Sales Order (Modules > Sales A/R > Sales Order). 2. Choose to open the printdefinition. For the promotion text to automatically appear in the language of the business partner, you must make sure that in the printdefinition under Language you have chosen the option "From Document". ("From Document" refers to the language that you have defined in the Sales Order under Logistics > Language.)

6.6.2.2

Create promotion text

1. Right-click on Functions and choose Open Texts. The window Text appears and displays the text modules in the language that you have defined in the Configuration under Text. 2. Enter the promotion text in the column Text. If your language in the window Text is English(US), enter the promotion text, e.g. "Special offer during July: get 50% off on all products". You must enter the text in the main language. If in the Configuration under Text you defined "English (US)" as the main language and then enter German text, the system thinks that the text you have entered is English. This can lead to inconsistencies in the layout. 3. Choose Update. The system then creates an 8-digit code. You will need this code later (see Adjust the layout using coresuite designer, step 7). Make a note of it to find it more easily later.

6.6.2.3

Create translations for the promotion text

1. Right-click on the text that you have just entered and choose Translate. The window Translations appears. 2. In the column Language select the language "German" and enter the German translation ("Bis Ende Juli profitieren Sie von 50% Rabatt auf alle Produkte") in the column Translation. 3. Choose Add and OK. 4. In the window Text also choose OK.

CORESUITE DESIGNER

332

6.6.2.4

Adjust the layout using coresuite designer

1. Go back to the printdefinition, select the relevant layout on the tab Documents and choose Open Designer. 2. Let's say you want to display the promotion text in the header. Add a new header with a textbox. 3. Activate the header and go to Properties > Name. Under Text enter the text "Promotion", so you can easily recognize the databand. 4. Then activate the textbox in this header and go to Properties > Name. Under Text enter the text "Promotion Text". 5. Activate the textbox "Promotion Text" and choose the icon 6. Go to Value and open the Script Editor. 7. In the Script Editor choose Data Sources and go to LD > Txt. Select the code for the promotion text (see Create promotion text, step 3). The tooltip displays the text; this makes it easier to select the correct code. 8. Double-click on the relevant code and choose OK to close the Script Editor. 9. Save your changes. (Bindings) on the right hand side.

6.6.2.5

Check the layout


(Preview).

1. Go back to the Sales Order and choose

2. The promotion text now appears on the Sales Order. 3. If you start the preview from a Sales Order for which under Logistics > Language the language is "German", the promotion text appears in German. 4. If you start the preview from a Sales Order for which under Logistics > Language the language is "English (UK)", the promotion text appears in English. If in the Sales Order you define the language "English (UK)" and if for the promotion text you define the language "English", the English Sales Order will not display the promotion text in English. You must ensure that you always use the same language locale (e.g. "English (UK)"). This applies to all languages, not just English, of course.

CORESUITE DESIGNER

333

6.6.3

Practical example 3 - Parameters

Scenario An employee of the company wants to see an overview over the open Sales Orders in the system. Goal You want to create a report that shows the open Sales Orders for a certain period of time and for certain business partners and countries. You want to be able to open the report from the menu. The window to enter the parameters should look something like this:

Procedure To create this report, the following steps are necessary: 1. Create query (SQL syntax for parameters) 2. Create layoutdefinition 3. Create parameters 4. Adjust the order of parameters on the form 5. Define standard values for the parameters

CORESUITE DESIGNER

334

6.6.3.1

Create query

1. Go to Menu > Tools > Queries > Query Generator. The window Query Generator opens. Choose Execute. The window Query Preview opens. 2. Choose to switch into editing mode. 3. Enter the following SQL query: SELECT * FROM RDR1 T0 INNER JOIN ORDR T1 ON T0.DocEntry=T1.DocEntry LEFT OUTER JOIN OCRD T8 ON T1.CardCode = T8.CardCode LEFT OUTER JOIN OCRY T11 ON T8.Country = T11.Code WHERE T1.CANCELED = 'N' AND T1.DocStatus = 'O' AND CASE WHEN '[%FromDate]'='' THEN T1.[%DateType@=DocDate] ELSE '[%FromDate]' END <= T1.[%DateType@=DocDate] AND CASE WHEN '[%ToDate]'='' THEN T1.[%DateType@=DocDate] ELSE '[%ToDate]' END >= T1.[% DateType@=DocDate] AND (T1.CardCode IN ('[%CardCode]') OR '[%CardCode]' = '') AND (T11.Code = '[%CardCountry@=]' OR '' = '[%CardCountry@=]') Choose Save and save the query with the name ORDR_SalesOrders in the category SWA_LD_Data. General Information For the parameters to work, you must use a special syntax: '[%ParamName]' or '[%ParamName@=DefValue]' You must use the square brackets and the percentage sign, otherwise the query will not recognize the parameters. As of coresuite country package version 2.90 it is possible to use standard values for parameters in the SQL datasource. This enables you to use datasources without having to define all parameters in the layoutdefinition. In our example there are 5 parameters. Below you can find more information on the parameters with special settings. Optional filters: Business Partner If the user does not select a business partner, all business partners will be displayed in the report. ... AND (T1.CardCode IN ('[%CardCode]') OR '[%CardCode]' = '') ... DataType with standard value If the parameter DateType is not defined in the layoutdefinition, DocDate will be used as the standard value. ... ... T1.[%DateType@=DocDate] ... ...

CORESUITE DESIGNER

335

Optional filter: Country with empty standard value If the parameter CardCountry is not defined in the layoutdefinition, an empty value will be used as the standard value. This means that all countries will be displayed in the report. ... AND (T11.Code = '[%CardCountry@=]' OR '' = '[%CardCountry@=]')

6.6.3.2

Create layoutdefinition

Now you need to create a layoutdefinition. 1. Create a layoutdefinition with the following data: Name Sales Orders Category Type Tab Queries Query 1 Sales Reports User Query

Select the query SWA_LD_Data:ORDR_SalesOrders that you have just created from the drop-down list.

Tab Details Enter the text you want to appear under Layoutdescription on the form, e.g. "This is an example". Tab Menu Parent

Business Partner Reports You will then be able to open the report from Modules > Business Partners > Business Partner Reports. Sales Orders

Description

Choose Update Menu. Tab Parameters Choose Get from Datasource. The columns Parameter and Parameter Mode will automatically be filled for 4 of the 5 parameters used in the query. Since last parameter, CardCountry, does not yet exist, the system issues as warning and informs you that you need to create this parameter first. The next chapter explains how to do this. 2. Choose Add to create the layoutdefinition. 3. Open the layoutdefinition that you have just created and proceed with the next step.

CORESUITE DESIGNER

336

6.6.3.3

Create parameter

Since the parameter CardCountry does not yet exist, you need to create it first. 1. Right-click on Functions in the layoutdefinition and choose Open Parameters. 2. Create a parameter with the following data: Key (In Queries) CardCountry (This is the exact same ID as in the query. This is case-sensitive.) Type of Parameter Alphanumeric

You can leave all other fields empty. They are either not relevant or will be filled automatically by the system. 3. Choose OK to close the window. Go back to the layoutdefinition, select the tab Parameters and choose Get from Datasource again. The five parameters now appear in the list and the columns Parameter and Parameter Mode are already filled. Choose Update to save your changes.

CORESUITE DESIGNER

337

6.6.3.4

Adjust the order of parameters on the form

Next, you need to define in which order the parameters should appear on the form. To do this, go to the layoutdefinition and select the tab Parameters. Additional line for grouping the parameters To get a better overview, it is a good idea to split the parameters into different groups. You can do this by entering a placeholder. In our example, we have added the placeholder Optional filter:. To insert placeholders, you need the parameter SWA_LD_Space. Add a new line to the list of parameters and enter the following data: Parameter SWA_LD_Space Description Parameter Modus [@T0060075]: (will be translated as Optional filter:) Default

Description in several languages Parameter Description DateType: Text FromDate: Text ToDate: Text CardCode: Text CardCountry: Text SWA_LD_Space: Text [@T0070020] (will be translated as Date type) [@T0070019] (will be translated as Date from) [@T0070018] (will be translated as Date to) [@T0002023] (will be translated as Business Partner) [@T0070003] (will be translated as Country) [@T0060075]: (will be translated as Optional filter:)

These text codes are from the Text List. Open the Text List (Modules > Administration > Add-Ons > coresuite designer > Text List) and use Ctrl+F to find out if the text code that you want to use already exists. If it does, use the text code from the list. If it does not exist yet, you need to create a text code. For more information, please see here: Open Texts. Input order To display the parameters in the form, you need to enter a value in the column Input order. If there are several parameters, you need to define the order in which you want them to be displayed. Parameter Input Order (alphanumeric) DateType: Text FromDate: Text ToDate: Text CardCode: Text CardCountry: Text SWA_LD_Space: Text 01 05 10 20 25 15

CORESUITE DESIGNER

338

6.6.3.5

Define standard values for the parameters

There are different ways to enter parameters. To prevent errors from occurring when users enter parameters, it is a good idea to define default values in the form of ChooseFrom lists and combo boxes. To do so, define the following values in the column Design Param Value: Parameter Design Param Value DateType: Text [DocDate;Posting Date;DocDueDate;Due Date;TaxDate;Document Date] FromDate: Date SELECT CONVERT(NVARCHAR,FinancYear,112) FROM OACP WHERE YEAR(GetDate ()) = Year ToDate: Date CardCode: Text {Select CardCode,CardName FROM OCRD WHERE CardType='C'} CardCountry: Text SWA_LD_Space: Text Text or data input without default values The user has to enter the value in the correct format. ToDate (Date to) For this parameter you do not need to enter any value in the column Design Param Value. Text or data input with default values The user has to enter the value in the correct format. FromDate (Date from) To create a default value, you must enter an SQL query without any brackets. SELECT.... FROM...... The query must return exactly one value. For parameters of the type Date, a date picker will appear on the form. {SELECT T0.[Code], T0.[Name] FROM OCRY T0}

Combo box The user has to select a parameter from a combo box. Combo boxes are useful for a small selection of parameters. The user must then choose a value. DateType (Date type) To create a combo box, you have to enter the parameter in square brackets. In each row, you have to define the parameter and the relevant description. [Parameter1;Description1;Parameter2;Description2] For combo boxes you must define two columns. One column needs to contain the exact value of the parameter, the second column needs to contain a description.

ChooseFrom list The user can choose defined parameters from a ChooseFrom list. ChooseFrom lists are useful for a large

CORESUITE DESIGNER

339

selection of parameters. The user can select one or several of these values, but this is optional. CardCode (Business Partner) and CardCountry (County) To create a ChooseFrom list you must enter an SQL query in curly brackets: {SELECT.... FROM......} The ChooseFrom list only works if you have created a query. The parameters must be defined in SQL queries. Unlike with combo boxes, you can display any number of columns. To see what tables and columns you need, use the System Information. Choose Update to save your changes. If you now choose Preview, the following mask appears:

If you now choose OK, the report opens. However, this is still empty. You need to create the layout by choosing Open Designer on the layoutdefinition. For further information, please refer to Format the layout in Practical example 1.

CORESUITE DESIGNER

340

6.6.4

Practical example 4 - Select Grid

Scenario You want to send a letter to all business partners with a balance of >5000. Goal A Select Grid enables you to select one or several lines and print them, so you want to create a Select Grid that lists all business partners with a balance of >5000. With this Select Grid you can then select the business partners from the list for whom you want to print the letter to be sent to them. Procedure To create this Select Grid, the following steps are necessary: 1. Layoutdefinition for the letter 2. Query for Business Partners 3. Layoutdefinition for Select Grid 4. Create formtype 5. Create parameter 6. Printdefinition for Select Grid

CORESUITE DESIGNER

341

6.6.4.1

Layoutdefinition for the letter

Create a new layout for the letter. Enter the following data: Name Christmas campaign Category Design Formtype Type Datasource Format Status BusinessPartner 134: Business Partner User Query BusinessPartner Default Active

Go to the tab Parameters and choose Get from Datasource. The parameter CardCode appears. Choose Add to create the layoutdefinition.

Choose Open Designer and create the layout of the letter. This example shows the address of the business partner only. You can of course customize the layout to fit your needs.

CORESUITE DESIGNER

342

Design

6.6.4.2

Query for Business Partners

On the layoutdefinition, right-click on Functions and choose Open Querymanager. The following query returns the business partners with a balance of >5000. Save the query as Christmas campaign in the folder Own Reports: SELECT T0.CardCode, T0.CardName, T0.Balance FROM OCRD T0 Where T0.Balance > 5000 This query will be used in the layoutdefinition for the Select Grid (see next step).

CORESUITE DESIGNER

343

6.6.4.3

Layoutdefinition for Select Grid

Next, you need to create a layoutdefinition for the Select Grid. In this layoutdefinition, you will include the query that you just created. The Select Grid needs a formtype, which is why we enter formCampaign in the column My FormType. In the column Title you can enter text that will appear as the title of the Select Grid window. Enter the following data: Name Christmas campaign - Select Grid Category Design Formtype Type Datasource Format Status Tab Queries Query 1 My FormType Title Tab Menu Parent Description BusinessPartner 134: Business Partner Select Grid BusinessPartner Default Active

Own Reports:Christmas campaign formAktion Please select the Business Partner(s)

Business Partner Reports Standard letter

Choose Update Menu.

If you choose Preview now, the Select Grid window opens. However, there is no functionality yet.

CORESUITE DESIGNER

344

From the System Information you can see that the form type of the Select Grid is formCampaign. This is the description that you defined in the column My FormType in the layoutdefinition.

CORESUITE DESIGNER

345

6.6.4.4

Create formtype

Next you need to create the form type formCampaign. To do this, right-click on Functions in the layoutdefinition and choose Open Formtypes. Enter the following data: Formtype formCampaign This must be the exact same description as in the layoutdefinition under My Formtype. Name Category formCampaign BusinessPartner

Choose Update and OK to save your changes and to close the window.

CORESUITE DESIGNER

346

6.6.4.5

Create parameter

Go back to the layoutdefinition of the Select Grid and go to the tab Parameter. In the Select Grid, the parameter CardCode is used. In order for the Select Grid to use this parameter, you need to re-define the parameter for the Select Grid: To do this, right-click on Functions in the layoutdefinition and choose Open Parameters. Enter the following data: Key (In Queries) CardCode Type of Parameter Item Id Matrix Id Alphanumeric CardCode ItemID = This will be the column name in the Select Grid. grdSelect The MatrixID for Select Grids is always grdSelect.

Use Rownumber No Choose Update. Select the line you just created and choose Open Array. A new window opens. Select the form type formCampaign from the drop-down list and choose OK. The window closes again. Choose Update and OK to save your changes and to close the window Parameters.

CORESUITE DESIGNER

347

6.6.4.6

Printdefinition for Select Grid

Finally, you need to define a printdefinition for the Select Grid. The printdefinition applies to the form type formCampaign and is linked to the layout Christmas campaign. With regards to the copies, only the Copies M. (mass copies) are relevant; the normal copies (Copies) are not relevant for Select Grids. Enter the following data: Name Christmas campaign FormType Language Key Checkboxes Tab Document Layout Copies M. formCampaign:formCampaign English US No Key Activate the checkbox Print

BUP:Christmas campaign 1

Tab Extended Definition Matrix Id grdSelect

If you now go to Modules > Business Partners > Business Partner Reports, you will find the entry Standard letter there. When you choose this entry, the Select Grid opens and you can choose the business partner(s) to whom you want to send the letter:

CORESUITE DESIGNER

348

CORESUITE DESIGNER

349

6.6.5

General

6.6.5.1

BatchPrinting

The Batch Printing functionality in the coresuite designer module allows you to set up the system to automatically print or send specific documents. The following example demonstrates how to print customer orders that have not yet been printed. A sample query (SWA_LD_SampleBatchQuery) is available, which is installed automatically with the coresuite country package. All you need to do is slightly adjust it. The SAP Business One standard alarms will be used to trigger the start of the print job. To set up everything there are 3 steps required: Step 1 - Define query Step 2 - Create SAP Business One alert Step 3 - Adjust coresuite designer configuration

6.6.5.1.1

Step 1 - Define query

First, you need to define the query for the batch printing. In our example we use the query SampleBatchQuery. To open the query, go to Menu > Tools > Queries > User Queries > SWA_LD_Data > SWA_LD_SampleBatchQuery. Enter the following data: FormType 139 For our example, we only want to return unprinted sales orders, so we define the formtype "139" (Sales Order). In this example, the Sales Order is used. The Code can be different, make sure to check in the Layoutmanagement. This is defined as 1.

Printdefinition

Internal number The next column issues the DocNum. AttGroup

CORESUITE DESIGNER

350

CORESUITE DESIGNER

351

6.6.5.1.2

Step 2 - Create SAP Business One alert

In a second step you need to create an alert that runs the query. 1. Go to Modules > Administration > Alerts Management and create the alert BatchPrint for the query SWA_LD_SampleBatchQuery. 2. Set the alert to active and assign it to a user. 3. Enter the frequency with which the alert should be run. (The two minutes in the example below are for illustration purposes only. In a real environment another frequency is more appropriate, for example once a day or once a week.)

6.6.5.1.3

Step 3 - Adjust coresuite designer configuration

Go to Modules > Administration > Add-Ons > coresuite designer > Configuration > Batchprint for the third and last step. Only one user can run the batch printing, so you need to define this user on the tab Batchprint: User Alert Print Mode Intervall [min] Enter the user that can run the batch printing. Select the alert that you have created in step 2. Choose Print, because you want to print the report. Define the interval in which the report should be printed. Enter "1440" (24 x 60) if you want to print the report every day.

CORESUITE DESIGNER

352

6.6.5.2

Remote Printing

coresuite designer can receive print jobs in a folder and carry them out. To do this, the following steps are required: Creating folder Configuring coresuite designer Creating print job file Create folder Create a folder in which you want the print jobs to be saved. You can save this folder anywhere you like. Configuring coresuite designer Next you need to configure coresuite designer. Go to Modules > Administration > Add-Ons > coresuite designer > Configuration > Batchprinting. Under Parameter Scan-Path, enter the path to the folder you just created. User and Print Mode are handled the same way as in the Batchprinting. The Intervall is not used for Remote Printing. Save your changes and re-start coresuite. Creating print job file After re-starting coresuite, all print jobs that are saved as text files in this folder, will be printed. The syntax for these text files looks as follows: <?xml version="1.0" encoding="utf-16"?> <job> <type mode="Print" layoutid="0" formtype="139"/> <paramsets> <paramset> <params> <param key="DocEntry" value ="3"/> <param key="PrintDef" value ="T0000007"/> </params> </paramset> <paramset> <params> <param key="DocEntry" value ="4"/> <param key="PrintDef" value ="T0000007"/> </params> </paramset> </paramsets> </job>

CORESUITE DESIGNER

353

6.6.5.3

Copy Queries

Under Modules > Administration > Add-Ons > coresuite designer > Printdefinition > Document > Copies you can select the number of copies. However, this number does not represent the number of copies, but the query that was saved as "1".

The folder SWA_LD_Copy contains all queries that can be used in the column Copies in the Printdefinition. This means that there are countless options to define the number of copies using SQL queries.

CORESUITE DESIGNER

354

6.6.5.3.1

Copies using UDFs

A practical example is the definition of the number of copies using a UDF. To do so, you need to create a new query: SELECT CASE WHEN T0.U_Copies IS NULL THEN 1 ELSE T0.U_Copies END FROM OCRD T0 WHERE T0.CardCode = '[%CardCode]' You can now save this query in the folder SWA_LD_Copy and use it in the print definition. If the UDF is not defined, i.e. if it is NULL, one copy will be printed. If a value has been assigned to the UDF, this value will be used for the number of copies:

CORESUITE DESIGNER

355

6.6.5.3.2

Number of copies depending on country of BP

Another practical example is the definition of the number of copies depending on the country of the business partner. For this, you could use the following sample query: SELECT CASE WHEN T0.Country <> (SELECT T2.Country FROM OADM T2) THEN 2 ELSE 1 END FROM OCRD T0 WHERE T0.CardCode = '[%CardCode]'

CORESUITE DESIGNER

356

6.6.5.4

Printing, Exporting, Displaying

With coresuite designer you can export and print reports and documents in different ways. The most frequently used ways are print-outs, PDF exports or e-mails. You can also export reports and documents in Word or Excel format.

6.6.5.4.1

Printing

To print from a document, the layoutdefinition and printdefinition must be set up correctly. In the Printdefinition you can defined the number of copies that will be printed when you choose the SAP Print button. In the Layoutdefinition you can define the printer, the trays, the users and the language. The following example illustrates how you can print a sales order in the office and, at the same time, print a production order in the production plant. The two documents are based on the same layout differ in two main points:

2 docum ents: 1 Sales Order, 1 Production Order

CORESUITE DESIGNER

357

6.6.5.4.1.1 Step 1 - Printdefinition Open an existing Sales Order and choose to open the printdefinition. Go to the tab Document and add a new row. In this second row you define the layout for the production order. Enter the following data in the second row: Layout Copies Free Text Language Select the Standard DIN layout (Document DIN - LD (DOC00008)). 1 (You want to print one copy of each layout.) prod With this text you can mark this as the production layout. German The production layout will always be printed in German (because the employees working in the production plant only speak German).

6.6.5.4.1.2 Step 2 - Layoutdefinition In a next step you amend the layoutdefinition. Double-click on the row header in the printdefinition to open the layoutdefinition. Go to the tab Printer and enter the following data: Row 1 Page Free Text All other Row 2 All other prod This text must match the text that you defined in the previous step under Free Text in the printdefinition. 139 : Sales Order Enter the path to printer 2 that is located in the production plant. Here you can enter a tray from which you want the printer to take the paper.

FormTyp 139 : Sales Order e Printer Tray Enter the path to printer 1. Here you can enter a tray from which you want the printer to take the paper.

You can leave all other fields empty. Save your changes. If you printed now, the office and the production plant would receive the exact same document, i.e. the free text does not make any difference at the moment. Printing the same document on two printers could also be achieved by adding a row with two copies to the printdefinition and by defining the copies "0" and "1" in the layoutdefinition. However, in the next step we will define the differences between the two layouts.

CORESUITE DESIGNER

358

6.6.5.4.1.3 Step 3 - Differences in the layout Choose Open Designer in the layoutdefinition. In the designer we now specify the differences in the layout. In our example, there are two differences between the two layouts: No footer in the production order Another title in the production order 1. No footer in the production order Go to the document tree and select "DocumentFooter":

Go to the tab Properties and choose Bindings and go to the field Visible. The Script Editor opens in a new window. Enter the script that ensures that the footer is only visible if the parameter is not "prod". The syntax for this looks as follows: GetData("LD.Par.FreeText")<>"prod" You can load the parameter Free Text into the editor by choosing Datasources > LD > Par > FreeText.

CORESUITE DESIGNER

359

2. Another title in the production order In the second step, you need to amend the title of the document. To do so, click on the document title. Go to Properties > Generate Script and extend the existing script. The extended script says the following: "If the parameter Free Text is "prod", the document title will be "Production Order". The syntax for this is as follows: If GetData("LD.Par.FreeText") = "prod" Then txtDocTitel.Value = "Production Order" End If

Script ergnzen

Save your changes. When you open any Sales Order now and choose the Print button, coresuite designer prints the relevant documents.

CORESUITE DESIGNER

360

6.6.5.4.2

PDF export

Using the printdefinition, you can create a PDF export. Scenario You want to create a PDF of the Sales Order and a PDF of the Production Order. To do so, you must activate the checkbox "PDF" on the printdefinition. coresuite designer automatically creates file names for the files. You can, however, also create them manually. To do so, go to the tab Document and enter the file name in the column Export File Name.

If you now open a Sales Order and choose , coresuite designer saves the files in a temp folder. Alternatively, you can define an export path. To do so, go to the tab Email/Fax on the printdefinition and enter the path in the field Export Path.

CORESUITE DESIGNER

361

6.6.5.4.3

E-Mail

With coresuite designer, you can send the generated documents via e-mail. To do so, you need to make the relevant settings in the printdefinition under Email/Fax.

Printdefinition (exam ple service call)

In this example (printdefinition Service Call), the target address was taken from the contact person of the business partner with a SQL query. The corresponding query parameter is [%callID]. In the same way you can define the CC address (e.g. technician assigned to this service call) and the BCC address. You can either work with an SQL query or with text elements, but you cannot use both in the same field.

The subject line was created using a text from the Text Collection ([@0000021]) and the current call ID ([%callID]).

CORESUITE DESIGNER

362

You can also use defined elements from the Text Collection for the e-mail text.

CORESUITE DESIGNER

363

6.6.6

System parameters

coresuite designer offers a series of system parameters which you can use in: - Scripts (using GetData("LD.Par.ParamName")) - Queries (using [%ParamName]) Below you will find a list of the most important parameters with use cases: Parameter PrintMode Description Contains the mode in which the layout is rendered. "N" -> Print or Preview "P" -> PDF "E" -> Email "F" -> Fax "W" -> Word "X" -> Excel Use case: You want to print a layout on company paper (with the company logo) and send the same layout by e-mail. Solution: Display logo only if PrintMode<>"N". FormType Contains the formtype of the form from which the layout has been started. "139" -> Sales Order "140" -> Delivery ... Use case: You want to print a special offer in the footer area of the Delivery. Solution: Only display footer if FormType="149" Preview "Y" if in Preview, "N" if not. Use case: You want to display hyper link arrows only in the Preview. Solution: Set the Visible property of the hyper link arrow to Preview="Y". UserId Contains the logged-in user. Use case: Dynamically define the e-mail address in the print definition. Solution: Define the relevant query in the printdefinition on the tab Email/Fax.

CORESUITE DESIGNER

364

Overview over all system and user parameters: To get an overview over the parameters, you can use a pre-installed diagnostic layout on the printdefinition of a document, e.g. of the Sales Order:

This is the result of a Sales Order printed in Add mode (AddMode ="Y"):

CORESUITE DESIGNER

365

6.6.7

Dealing with marketing documents

When you work with marketing documents coresuite designer will help you in several areas. 1. DocEntry retrieval When working with coresuite designer is essential to read out data table keys from the form. Those keys are called parameters and can be used in all the queries related to this layout. They can even be used in a printdefinition to get for example a dynamic e-mail address. But when working with marketing documents we cannot read out the DocEntry from the form which is the regular way for coresuite designer to get parameters. In the case of marketing documents coresuite designer creates the DocEntry - Parameter automatically for you using the predefined parameters: DocNum, DocDate and DocSeries. You can always use [%DocEntry] for all your marketing doc related queries and definitions. 2. Formtype defines the Object Since we can read out the FormType of every SAP- Form by SDK we use it as our unique Object Identifier. A lot of scripts in our standard layouts are using the FormType parameter to enable/disable areas and for other conditional stuff. So as soon as we have a FormType on the marketing documents we may use: - Unified queries (using the placeholder @@RDR) - The ObjectId parameter - Conditional formatting and other individual things. Check: SWA_LD_FORMTYPE - Table 3. DataSource The Document_88 datasource gives you already a lot of information. If you miss something you can: - Extend the datasource with your own queries using @@Placeholders - Use the quick and dirty LD.QueryData(...) - approach Please be aware that there is already a translated ItemDescription and a translated PaymentTerm As a general rule: All Columns which are called MLDesc are already translated for you. For the others you can use LD - Functions: - GetMLDesc(...) for regular Translations of Fields - GetDesc(....,LangCode) for UDF Valid Values Translations. - QueryData(...) for getting Values out of related UDF Tables 4. Formtype and Draft Documents First of all if you are dealing with regular documents opened as draft Form in SAP or using the Draft List directly from SAP B1 you don't need to care about drafts at all. As written in point 2. coresuite designer is FormType driven. So how can we deal with draft documents in other than above cases (they do not have a FormType)? For example if you would like to use draft documents which are using our Document_88 datasource from SelectGrids, Remote- or Batchprinting you need to specify the SWA_LD_DRAFT Formtype in the related Printdefinition. This indicates coresuite designer that you would like to use the DRF - Replacement for the @@RDR - Queries and will set the parameter AddMode to "Y". But then you still need to deal with a lot of conditions in the Layout itself because the scripts doesn't take care of FormType "SWA_LD_DRAFT". If you check our scripts they are using formtypes like "133","139" which are regular Documents.

CORESUITE DESIGNER

366

To automatically transfer the SWA_LD_DRAFT - Formtype into its real FormType just check SWA_LD_DRAFT to FormType in the coresuite designer general configuration. Then all the existing scripts will also work as expected.

CORESUITE DESIGNER

367

6.6.8

Integrated designer - Sharpshooter

You can find the full Sharpshooter documentation as well as a Getting Started guide on the PERPETUUM software site: http://www.perpetuumsoft.com/Product.aspx?lang=en&pid=21&tid=documentation

CORESUITE DESIGNER

368

6.6.8.1

LayoutHelper

This chapter describes the pre-defined functions of the coresuite designer module. You can use them with the integrated designer (Sharpshooter) as well as in coresuite customize rules. To call the functions, use the format LayoutHelper.LD.<name of the function>.

6.6.8.1.1

Functions

Functions are an important topic for Designer. They are irreplaceable for generating dynamic reports. The Designer is supplied with many standard functions that can be activated. Additionally, own functions can be defined in the layouts. In this chapter, we will work with Visual Basic. 6.6.8.1.1.1 Basic Principles Functions have fundamentally always the same syntax Function <Functions name>(<Parameter list Inputs>) As <Data type> Instructions End Function The following data types are frequently used: Data Type Boolean Date Decimal Double Memory Requirements 2 Bytes 8 Bytes 16 Bytes 8 Bytes Value Range True or False Date value ranging from 01.01.0001 to 31.12.9999 Floating-point number between 7,9 * 10^28 to +7.9*10^28 Floating-point number in double precision between -1,7*10^308 to +1,7*10^28 Whole number between 2.147.483.648 and +2.147.483.647 Character string from 0 to ca. 2 billion Unicode characters

Integer String

4 Bytes 2 Byte

The function can be accessed afterwards in the components bindings (settings) and returns the value calculated by the instructions. It can be accessed with the following syntax: <Function name>(<Inputs>)

6.6.8.1.1.2 Example The following example uses the item list (stock control). First, a SQL query is generated, presenting our data source. The query was created and saved in the query generator. SELECT T0.ItemCode, T0.ItemName, T0.OnHand FROM OITM T0

CORESUITE DESIGNER

369

Based on this query, a new layout definition is initialized. In it, both the saved SQL query and the design form type 150 are selected.

Layoutdefinition

After creating the layout definition, the Designer is initialized. In the Designer, a simple item list is created. First, the data band with the data source from the SQL query is called. The band has a header section, which describes the columns, and a detail area. Text components which describe the item code and description and stock control (OnHand) are placed in these two areas.

Aufbau Layout

Next, the text color of the stock control (OnHand) should be colored dynamically. The point is that the stock is colored red when the number of items in storage reaches 0 or less, orange when the number ranges from 1 to 100, and green over 100. The easiest way to do so is to work with styles. Three new styles were defined. The only difference between them is the name (rot, orange, gruen) and the filling options, in which colors correspond to names.

CORESUITE DESIGNER

370

Styles

Next, a script is created. For that purpose, the first level of the document directory is selected and the function is defined in the settings in CommonScript. The function syntax is: Function Farbe(bestand As Double) As String Dim col As String If bestand <= 0 Then col = "rot" Else If 0 < bestand AND bestand < 101 Then col = "orange" Else col = "gruen" End If Return col End Function The function is called Farbe, requires the stock in Double format and returns a string. A variable named col is initialized which will give a value to the If then Else condition. This variable will finally be returned with Return.

CORESUITE DESIGNER

371

Com m on Script

This script does nothing more than check the stock and then return the style definition. Next, the function must be applied to the settings of the text components in stock control. This is accomplished in the bindings. The function Colour is called from the binding Style Name and the necessary input value is inserted. The value is taken from the band into the script editor.

Verw endung der Funktion

CORESUITE DESIGNER

372

When called, the report is displayed as follows. The stock is coloured in accordance with the definition in the function:

6.6.8.1.2

Available functions

The present chapter describes some of the existing default functions in Designer. These are always called into the Bindings with LD.<function name>. You should bear in mind that these functions must be activated. This can be defined in Imports.

activate LayoutHelper

6.6.8.1.2.1 Overview over all functions The following functions are available in the LayoutHelper: AddAttachment AddHyperLink

CORESUITE DESIGNER

373

AddTitle AddToTags1 AddToTags2 AddToTags3 BookmarkText CleanTitles CreateColumnArray CreateTableFromText Date DrawImage DrawThumbnailImage ExecuteHyperLink ExecutePrintDef Fstr GetAllFormData GetBaseDirectory GetColumnType GetDataTable GetDate GetDesc GetDimensions GetEANCheckDigit GetFormattedAddress GetImageSize GetMLDesc GetNum GetObjectName GetText IsEmpty IsEmptyDate IsEmptyObject IsProduction IsPurchase IsSales IsService IsValidSQL LoadLD MultiLine MultiLine RTF OneNewLine OpenForm OpenLayout OpenMenuByParentAndName OpenObject OpenObjectByLink OpenPrintdef ParamDate ParamDateTime QueryData QueryDataDate QueryDataNum ReplaceTextParam ReplaceTextParamInSQL ReplaceValueSpacesWithNBSP ResetAfterExportEvent ResetAfterMailOrFaxEvent

CORESUITE DESIGNER

374

ResetAfterPrintEvent ResetAfterPrintOrPreviewEvent SetCulture SetFormType SetReplaceWith StartAfterExportEvent StartAfterMailOrFaxEvent StartAfterPrintEvent StartAfterPrintOrPreviewEvent StartArchiveEvent StartBeforeArchiveEvent StartEndOfPrintOrderEvent StartFaxGeneratedEvent Tag2 Tag3 WeekOfYear WeekOfYearISO8601 WeekOfYearMon

CORESUITE DESIGNER

375

6.6.8.1.2.2 AddAttachement LD.AddAttachement([Pfad]) The Attachement-Function helps you attach several files to a layout which is sent by the E-Mail Functionality of the Designer. Next, an example is shown which sends a Sales Quotation by e-mail. The goal is to send with each Item in the Quotation a factsheet in PDF format. All factsheets in this example are saved in the same folder and named by the Item Code:

Next, in the DocumentRow of the DIN Layout the function is inserted, which sends to every Item the sheet.

CORESUITE DESIGNER

376

The path in this example is static. But the Filename is generated in a dynamic way: It is the ItemCode. The File Format is again Static. So, when this Quotation is sent by mail, for each article which has a factsheet, an attachment will be sent. LD.AddAttachment("C:\workshop\FactSheets\" & DocumentRow("ItemCode") & ".pdf")^

CORESUITE DESIGNER

377

6.6.8.1.2.3 AddHyperlink With the function AddHyperlink several functions can be opened by click. As example the article image in the DIN marketing document will be opened in ms Paint by click.

Hyperlink

Hyperlink As value in the hyperlink field in the bindings, the name and the parameter is transmitted. For example, here is the name 'MyClick123' and the parameter is the path and also the name of the article image. "[Name; Parameter]" "[MyClick123;""" & GetData("B1_Data.CompanyDefaults.BitmapPath") & DocumentRow("RowRowItems. PicturName") & """]"

Generate Skript In the generate script of the document the hyperlink is called and connected with a function of the Common Script (see next point). LD.AddHyperLink("MyClick123", Addressof MyClick)

Common Skript In the Common Script of the document, the function (called MyClick) is defined and opens the msPaint. Private Sub MyClick(rawUrl As String, sPath As String) Dim p As System.Diagnostics.Process = New System.Diagnostics.Process() p.StartInfo.FileName = "mspaint.exe" p.StartInfo.Arguments = sPath p.Start() End Sub

CORESUITE DESIGNER

378

6.6.8.1.2.4 BookmarkText LD.BookmarkText(<Text As String>) Bookmarks can be added to any object in the Designer. A lozenge is inserted before the bookmark: "#Bookmarktext". If a / or a \ appears in the bookmark, the Designer will interpret it as a subchapter. If you want this type of notation, you must use the LD-function. In this case, one/two becomes one_two and not a chapter one with subchapter two. LD.BookmarkText("#one/two")

CORESUITE DESIGNER

379

6.6.8.1.2.5 CreateTableFromText CreateTableFromText(<Engine As Render Engine>, <name As String>, <text As String>, <column Splitter As String[]>, <row Splitter As String[]>) The name which will later be used for recalling, can be defined under name. The text element from the data source is entered under "text". The line or column break is entered under column and rowsplitter. Next, the standard layout is adjusted (document DIN), in order to allow small tables to be created with the text editor. This is the only way to create tables, as the editor does not recognize html tables. Creating a Table First, a small table is created in a sales order. In the present example, the line extension of an item is used and a small table is inserted. In this example, the table is structured like this: if a new line is created in the editor with the enter command, a new line will be displayed afterwards in the table. If an empty space is created with 4 strokes of the space key, this will be interpreted as a new column.

create a table

Adjustments to the Layout (Document DIN)

CORESUITE DESIGNER

380

First, a new variable is initialized on the top level in the common script. This variable will read the number of columns in the table, afterwards:

The variable we have just defined is overwritten with the return value from the Create TableFromText function. The fact is that the function indicates the maximum number of columns in the table. The following script is inserted in the GetDataScript of the Document Row data band under properties.

GetDataScript

anzSpalten = LD.CreateTableFromText(Engine, "Zeilenerweiterung", DocumentRow("Text"),new String() {" "},new String(){vbcr}) The following values must be fed into the function: Just select Engine as render engine. In this example, the string Zeilenerweiterung is inserted as name. As text, the corresponding element is sent from the data sources. In our example, the line extension, the element in question would be this DocumentRow ("text"). To finalize, we only need to define the condition for inserting a new line and column. A new column is inserted by means of a string of 4 strikes of the space key {" "}. An enter is created together with the {vbcr} string. This function now creates the table and displays the maximum number of columns as return value (numColumns).

CORESUITE DESIGNER

381

Now, a new data band is created in the document under DocumentRows. The name which was defined earlier on can be entered here. In this case: Zeilenerweiterung.

The text fields must be told what to display now. For that purpose, the name and column must be entered again in the bindings, under value. Next, the second column, with Col2. The first column would have Col1 and so on. It is possible that 3 columns are created in the layout now, but only 2 columns are used in the text field afterwards. So that no problems are caused by the designer, the unused column had to be hidden. To do so, the corresponding option was selected in the bindings, under visible. The following is an example: column 2 should only be displayed when the table in the text editor has more than one column. Consequently, column 3 should feature: numcolumns>3...etc.

CORESUITE DESIGNER

382

When you view the layout, the table is shown: row 1 column 1 row 2 column 1 row 1 column 2 row 2 column 2 row 1 column 3 row 2 column 3

CORESUITE DESIGNER

383

6.6.8.1.2.6 Date LD.Date(<Element>,<Dateformat>) This function works just like the Fstr function. The only difference is that in this function we will work with date formats. As an example, an extended text filed is inserted here and its contents are defined under Bindings. "Today is " & LD.Date(Now, "dd.MM.yyyy") The different elements are joined with a &. Strings must always be written between . You can find a reference to the different date formats (here dd.MM.yyyy) at http://msdn2.microsoft.com/en-us/library/8kb3ddd4.aspx. When the layout is rendered, the text box is displayed as follows: Today is 25.02.2008

CORESUITE DESIGNER

384

6.6.8.1.2.7 DrawImage LD.DrawImage(<Path As Object>) coresuite designer can generate images dynamically. In the case of image elements, an image can be assigned in a permanent way, using the properties in Image. You can work with the image functions in Bindings or Generate Script. Example: Display product images. This function uses the default bitmap path and the picture name from the Marketing data source to produce complete dynamic bitmap paths. LD.DrawImage(GetData("B1_Data.CompanyDefaults.BitmapPath") & DocumentRow("RowRowItems. PicturName"))

CORESUITE DESIGNER

385

6.6.8.1.2.8 Fstr LD.FStr(<Element>,<Numberformat>) This function allows you to define the contents of simple text. As an example, we will use the stock control list. In the case of stock control, the entered value is a simple number:

This example demonstrates that, instead of featuring a simple number, the expression should be as follows: This position contains xxxx items. For that purpose, the text must be defined for different texts in the Bindings. The following code was used in the example: This position contains &nbsp;" & LD.FStr(articles("OnHand"),"######") & "&nbsp; items The different elements are joined with a &. Strings must always be written between . You can find a reference to the different number formats (here #######) at http://msdn2.microsoft.com/en-us/library/0c899ak8.aspx When the layout is rendered, the display is as follows:

CORESUITE DESIGNER

386

6.6.8.1.2.9 GetDesc This function returns the description of User defined fields (UDFs). This description exists for UDFs where valid values are defined.

> Define User Defined Field (UDF) w ith valid values in SAP Business One

In the SAP Business One Form the left column displays the value which can usually be queried and is returned by the default datasources.

In order to obtain the value on the right (description) the LD.GetDesc Function must be used. LD.GetDesc("<Table>","<Definition UDF>",<Value UDF>) Example: LD.GetDesc("ORDR", "U_NameUDF", Datasource1.U_NameUDF) Translation The description of the valid values can also be translated (1). In order to print the translated description of the UDF additionally provide the Language Id as a parameter and consider to use the correct table (2) as displayed in the definition.

The table in which the translation is stored can be different from UDF to UDF. Always use the table as displayed in the Translations Form (point 2 in Screenshot below).

CORESUITE DESIGNER

387

LD.GetDesc("<Table>","<Definition UDF>",<Value UDF>, <Language Code>)

Example: LD.GetDesc("ADOC","U_UDF",GetData("B1_Data.Document.U_UDF"),GetData("LD.Par.LangCode"))

CORESUITE DESIGNER

388

6.6.8.1.2.10 GetDimensions LD.GetDimensions(<maximum with As Integer>, <maximum height As Integer>, <Image>) In the next example, an image which is in item settings must be displayed with maximum 320px width and height. This function cannot be used in the bindings, as it doesnt give a return value. In the example, an image was inserted in the layout and given the name ProductImage in the properties. The following code was inserted in the Common Script: ProductImage.Size = LD.GetDimensions(320, 320, ProductImage.Image)

To be able to use this function, the DrawImage function must be run first. If not, the input parameter Productimage.Image is missing and the function is unable to calculate the new dimensions!

CORESUITE DESIGNER

389

6.6.8.1.2.11 GetEANCheckDigit LD.GetEANCheckDigit(<Code As String>) This function generates a check digit for Codes. In an EAN-13 code, for example, the last digit is a check digit:

If the 12 first digits of the code are fed into the function, it will generate this check digit. LD.GetEANCheckDigit("012345678900") Return Value: 5

CORESUITE DESIGNER

390

6.6.8.1.2.12 GetFormattedAddress V1 For Default Address LD.GetFormattedAddress(<CardCode As String>) V2 to distinguish different addresses LD.GetFormattedAddress(<CardCode As String>, <AdressCode As String>, <Adresstyp As LayoutHelper.LD>) When new marketing documents are added, SAP B1 inserts the shipping and billing addresses in the separator Logistics. Several addresses can be entered per business partner. They are essentially divided into two address types: Ship to and Bill to. However, several addresses can be saved under these address types, using the AddrCode label.

address types in SAP B1

If you want to print addresses which have been formatted as explained above, other than in these documents, you must use this function. Using V1, only the standard address (usually the billing address) is printed. V2 allows you to print any address you want. Bellow, the shipping address of Funsport Solo is shown.(C1000). LD.GetFormattedAddress("C1000", "Ship to", LayoutHelper.LD.AddressType.ShipTo) Displayed: Althardstr. 999 8105 Regensdorf SWITZERLAND

CORESUITE DESIGNER

391

6.6.8.1.2.13 GetMLDesc LD.GetMLDesc(<defValue>,<Table>,<Fieldname>,<Primarycode>,<Languagecode>) GetMLDesc function enables you to trial print several field entries from the SAP-form in a desired language. Designer offers default translations for the values in some fields. These can be called into the layout using DescML. The following example presents the translation for the name of an item.

LD.GetMLDesc(Artikel("ItemName"),"OITM","ItemName",Artikel("ItemCode"),GetData("LD.Par. LangCode"))

Adjusting the language as design parameter

Designparam eter

Result:

CORESUITE DESIGNER

392

6.6.8.1.2.14 IsEmpty LD.IsEmpty(<Element As String>) This function gives back information on whether a table field has contents or not. If so, the output is TRUE, if not, FALSE. The next example checks if a product image has been attributed to an item. LD.IsEmpty(Items("PicturName")) If an image has been attributed, the answer is FALSE, if no image exists, the answer is TRUE.

CORESUITE DESIGNER

393

6.6.8.1.2.15 IsPurchase / IsSales LD.IsPurchase(<Formtype As String>) LD.IsSale(<Formtype As String>) You can simultaneously query whether a specific document is originated from purchase or from sale. The form type can be added to the function, which will subsequently return a True or False output. Example: "Form 139 = Sales Order" LD.IsPurchase("139") Return value of the function: FALSE

CORESUITE DESIGNER

394

6.6.8.1.2.16 MultiLine LD.MultiLine(<Expression AS String>) Manual line breaks which are defined in SAP can be lost in Designer. The Designer uses a different format to work on line breaks. Example follows. A text component Remarks was integrated in the layout. Two lines of text were written there and subsequently shown in the print preview.

initial situation

The function can now be called from Bindings under properties for this text component. The following value was entered under Value: LD.MultiLine(Document("Comments")). Now, the line break will be correctly applied:

CORESUITE DESIGNER

395

6.6.8.1.2.17 MultiLine RTF LD.MultiLineRTF(<Expression AS String>) This function works just like the LD.MultiLine. However, it is used for Advanced Text fields. These text fields process and convert line breaks from SAP. The function LD.MultiLineRTF corrects the line breaks so that they are correctly presented in the layout.

CORESUITE DESIGNER

396

6.6.8.1.2.18 OneNewLine LD.OneNewLine(<Expression AS String>) This function can be used in address boxes for example. When the post office box is omitted, an empty line can be created:

These unnecessary empty lines can be hidden with the OneNewLine function. But provided line breaks are to be generated, one of the multiLine functions must still be chained to this function. This can look like that, for example: LD.OneNewLine(LD.MultiLine(Document("Adress")))

CORESUITE DESIGNER

397

6.6.8.1.2.19 OpenLayout LD.OpenLayout(<LayoutCode As String>, <Parameters As String>) In the case of parameters, the description comes first, then the value, even if there are several parameters. Example: "CardCode", "C1000" This function allows you to open a layout, for example, using a shape, an arrow or a similar object. In the following example, an arrow is entered before the card code of a function, which opens the corresponding CRM report.

The following code was entered in the arrows hyperlink under bindings: LD.OpenLayout("T0000301","CardCode",Datasource("CardCode"),"FromDate",GetData("LD.Par. FromDate")) Result The CRM report corresponding to the CardCode is opened.

CORESUITE DESIGNER

398

6.6.8.1.2.20 OpenObject V1 without SAPbouiCOM (the objecttype must be entered manually) LD.OpenObject(<ObjectType As String>, <ID As String>) V2 with SAPbouiCOM (the layoutHelper presents all objects) LD.OpenObject(<Object Type As BoLinkedObject>, <ID As String>) Using SAPbouiCom.BoLinkedObject., the following suggestions are presented

Object Types This function opens an object. In the following example, an arrow-shape is used to open the corresponding BP.

V1 LD.OpenObject("2", "C1001") V2 LD.OpenObject(SAPbouiCOM.BoLinkedObject.lf_BusinessPartner, "C1001") Result Both variants open the business partner with the card code "C1001"

CORESUITE DESIGNER

399

6.6.8.1.2.21 OpenPrintdef LD.OpenPrintdef(<mode As OpenLayoutModes>, <Formtype As String>, <Parameters As String>) Using "LayoutHelper.LayoutOpener.OpenLayoutModes.", you will get the following modes in the Designer:

The parameters are processed as in OpenPrintdef This function can open a print definition. In the following example, an offer is opened, using an arrow shape:

The following code was entered in the arrows hyperlink under bindings: LD.OpenPrintDef(LayoutHelper.LayoutOpener.OpenLayoutModes.Preview, "149", "DocEntry", "1") Result The corresponding document for the offer is opened.

CORESUITE DESIGNER

400

6.6.8.1.2.22 ParamDate LD.ParamDate(<Element>,<Dateformat>) This function works just like the Date function. It is used for data which requires parameterization.

exam ple of a date in param form at

CORESUITE DESIGNER

401

6.6.8.1.2.23 ParamDateTime LD.ParamDateTime(<Parameter>) This function works just like the ParamDate. It will return a Datetime format which enables, for example, subsequent calculations based on that date. In the following example, a parameter (FromDate) is read as it would appear, for example, in the CRM report. LD.ParamDateTime(GetData("LD.Par.FromDate")) Result 02.04.2008 00:00:00

CORESUITE DESIGNER

402

6.6.8.1.2.24 QueryData LD.QueryData("<SQL-Query>") This function makes it possible to extract contents from tables outside the Data source. The return value is always displayed in the first line and first column of the query result. If errors are detected in the query, an error report is displayed in its place. With the function QueryData, the current user name should be printed. The following function is inserted as the value for one of the text boxes. LD.QueryData("SELECT U_NAME FROM OUSR WHERE USER_CODE = '"+GetData("LD.Par.UserId"). ToString() + "'") Result

list with actual user This example serves only for demonstration purposes. The current user name can also be easily printed using the GetData ("B1_Data.UserDetails.U_NAME").

CORESUITE DESIGNER

403

6.6.8.1.2.25 QueryDataDate LD.QueryDataDate("<SQL-Query As String>") When data which is to be subject to processing, for example, by means of functions, is read from a SLQ query in the DB, it is convenient to embed the SQL-query in the function QueryDataDate instead of QueryDate. Using the normal QueryData function can lead to undesirable complications, as the value of a function cannot be correctly calculated. Next, we will present an example of how to calculate, for example, a 30 day term of payment counting from the present date. Bellow, a function is created which wishes to use the present date as DateTime, adds 30 days to it and returns the date. In order to transmit the Datetime to the function, you must work with LD.QueryDataDate: 1. Common Script -> Create a Function Function Date(Today As Datetime) As Datetime Dim Deadline As DateTime Deadline = Today.AddDays(30) Return Deadline End Function 2. Value in the Bindings of the text item Date(LD.QueryDataDate("Select GetDate()")) Result 30 days are added to the current date and inserted in the text field. This example serves only to demonstrate the idea, as there are more reasonable ways of adding 30 days to the present date.

CORESUITE DESIGNER

404

6.6.8.1.2.26 ReplaceTextParam LD.ReplaceTextParam(<String>, <Langcode As String>) This function replaces all text markers which are queried in the form "[%@U0000276]" by the corresponding inserted text. This function is useful, for example, when default markers are entered in UDFs instead of text. In the following example, "[@U0000276]" was inserted in the business partners remarks. When this field is queried in the layouter, the return output "[@U0000276]" is given without this function. LD.ReplaceTextParam(LD.QueryData("SELECT T0.Free_Text FROM OCRD T0 Where CardCode = [% CardCode]"), GetData("LD.Par.LangCode"))

CORESUITE DESIGNER

405

6.6.8.1.2.27 WeekOfYear LD.WeekOfYear(<Date As Object>) The WeekOfYear function calculates the corresponding week based on a given data object, for example, Now.

"Week " & LD.WeekOfYear(Now) For example, inputting 11th March will return the following Week 11.

Calculation Monday When the week calculation is to start on Monday, the following syntax can be used: LD.WeekOfYearMon(<Date As Object>)

CORESUITE DESIGNER

406

6.6.8.1.2.28 WeekOfYearISO8601 Calculates the Week according ISO 8601.

CORESUITE DESIGNER

407

6.6.8.1.3

getData / Data

getData If Data is read from an Advanced Databand, coresuite designer transforms NULL-Entries into Empty Strings (Alphanumeric Data) and 0 (Numeric Data). But if you load some data directly with getData("Expression"), coresuite designer submits the original values. That means, also NULL can be loaded in this case. Data To avoid this NULL-Entries, the Function must be Data("Expression"). Now, the characteristics are the same like in the Advanced Databand: NULL gets to "" (Alphanumeric) or 0 (Numeric).

6.6.8.1.4

Hyperlink (Drill Down Arrows)

Previews from Designer can be provided with link buttons. This allows you to open SAP forms directly from Preview. Next, the link button is explained using the business partner based on the CRM report.

link arrow

A new Shape is created in the Detail area where the ID of the business partner is located, too. The XML Code of the arrow in the example, which can directly be inserted in the layout with ctrl+V, is as follows: <?xml version="1.0" encoding="utf-16" standalone="yes"?><root type="PerpetuumSoft.Reporting. Designer.ReportClipboard" id="1" version="2"><Controls type="PerpetuumSoft.Reporting.DOM. ReportControlCollection" id="2"><Item type="PerpetuumSoft.Reporting.DOM.Shape" id="3" Location="425.19683837890625;64.774421691894531" Size="41.338581085205078;35.433071136474609" Name="shape1" Line="1 Solid DarkRed"><ShapeStyle type="PerpetuumSoft.Framework.Drawing.ArrowShape" id="4" Direction="Right" /><DataBindings type="PerpetuumSoft.Reporting.DOM.ReportDataBindingCollection" id="5"><Item type="PerpetuumSoft.Reporting.DOM.ReportDataBinding" id="6" Expression="&quot; [OpenForm;2561;5;;&quot; &amp; BusinessPartnerDetails(&quot;CardCode&quot;) &amp; &quot;;; Close]&quot;" PropertyName="Hyperlink" /></DataBindings><Fill type="PerpetuumSoft.Framework. Drawing.LinearGradientFill" id="7" StartColor="OrangeRed" EndColor="Orange" /><Shadow type="PerpetuumSoft.Framework.Drawing.Shadow" id="8" DY="2.3622047244094491" DX="2.3622047244094491"><Fill type="PerpetuumSoft.Framework.Drawing.LinearGradientFill" id="9" / ></Shadow></Item></Controls></root>

CORESUITE DESIGNER

408

How you can link this Arrow you learn in the sections: OpenLayout OpenPrintdef OpenObject

6.6.8.1.5

Grouping Data

The AdvancedGroupBand allows several grouping options. This example shows a simple personnel list grouped by department. First, a new layout is created. In this example, a small SQL-query was executed as data source: SELECT T0.[empID], T0.[lastName], T0.[firstName], T0.[remark], T1.[Name] AS [Department], T2. [USER_CODE], FROM OHEM T0 LEFT JOIN OUDP T1 ON T0.dept = T1.Code With this data source, a new layout is created in personnel master data and subsequently formatted in the Designer. Start with an Advanced Data Band, which uses the created query as Data Source. As the personnel list is to be displayed grouped by department, an Advanced Group Band will be inserted in this Advanced Data Band, featuring, as usual, the Details and respective contents. In this example, a header with a text element indicating the department was inserted at the top. The Header is repeated for every new group, the Details for every data sentence, as usual.

create the layout

The GroupBand must be told what grouping criteria to use. For that purpose, click on the AdvancedGroupBand and define the GroupExpressions under properties. In this example, the Group Expression is Department.

CORESUITE DESIGNER

409

Definition GroupExpression

When accessed, the report will be presented as follows:

Result

6.6.8.1.6

Open the Designer

Designer is opened from the Layoutdefinition form. Existing layouts can be selected and subsequently processed with Opening the Designer. When a new layout is defined, data sources must be fed into the Designer. This is accomplished either with predefined data sources or with user defined queries. After the necessary information has been entered, the Designer can be opened using the same button.

CORESUITE DESIGNER

410

start Designer

6.6.8.1.7

Page properties

Using the Designer, you can create several completely different pages. (Use to create a new page). These pages are configured in Page Settings. To access them, click on the corresponding page and select settings. It is also possible to access them directly using the defined per page: Appearance Data Design Layout Navigation Page Settings button on the upper line. The following settings can be

StyleName allows you to define which style is to be used as default in new elements. Under Tag further information can be added to the page settings. The page definition is introduced under Name. This way, the page will appear afterwards in the Document Directory as well. The actual page size is defined under Size. The relative position to elements in a superior position can be defined under Location. In the case of pages, it is usually 0,0. The definition in Bookmark appears under page structure in the PDF Export. The page margins can be defined under Margins. These margins will be shown as thin red lines, which may be helpful when positioning the components. Paper orientation can be defined under Orientation. Paper size is established under PaperKind. TemplateSize, on the other hand, has nothing to do with the output size, but only with the working area in the Designer. When working with many elements, it is advisable to increase the template size in the y-direction, in order to gain more space to order the components. GenerateScript allows you to define a script which will be executed based on the reproduction of the report.

Script

CORESUITE DESIGNER

411

6.6.8.1.8

Pivot Tables

In this section, a pivot table will be built. The pivot shows the availability of items in the different stocks. As datasource, a simple query will be used: SELECT * FROM OITW After, a new layoutdefinition will be built containing this query. In the designer, a pivot-table is placed by the corresponding tool. In the properties the Datasource (query) must be defined like the advanced databand. With double click on the pivot-table, a new property window opens:

Properties In the source fields area, the elements of the query are listed. With drag and drop, they can placed into the sections in the middle. In this example, the warehouses are defined in the x-dimension and the different items in thy y-dimension. In the facts-field, the actual stock (onHand) is showed. Of course, it is also possible to build the report in several dimensions, for example in the y-dimension first grouped by the article group and then by the articles.

CORESUITE DESIGNER

412

Styles In the section "Styles", for each fieldtype in the table, a style can be chosen. In the designer installation, several styles are already pre-installed. They can be used like in the following example:

Result

6.6.9

Crystal Reports Designer

The following section provides information on Crystal Reports Designer. Please note that we only document functions that are specific to our integration of Crystal Reports Designer. For more detailed information, please refer to the F1 help and the documentation available online.

CORESUITE DESIGNER

413

6.6.9.1

Opening Crystal Reports Designer

Create a new layoutdefinition to open the Crystal Reports Designer: Name Category Design Formtype Type Datasource Format Status Enter the name for your layout. Select a category, e.g. BusinessPartner. Select a Design Formtype, e.g. 134:BusinessPartner. External Report Select a Datasource, e.g. BusinessPartner. (Ensure you set the correct parameters when using a pre-defined datasource.) Default Active

Tab Parameters Choose Get from Datasource to load the existing parameters. If there are no parameters, nothing will appear. Tab External Report Data Export Crystal Reports Format Connection Type Select the relevant option, e.g. Current Company.

Choose Add to create the layoutdefinition. Reopen this layoutdefinition and under File Path enter the path to the .rpt template file (landscape or portrait version). Choose Update and then Open Designer to launch the report in Crystal Reports Designer. This might take a few seconds. The layout will be displayed in design mode.

CORESUITE DESIGNER

414

CORESUITE DESIGNER

415

6.6.9.2

File storage

File Path All files are saved in the folder you specified under Modules > Administration > System Initialization > General Settings > Path > Extensions Folder. If you have not defined a folder there, the files will be saved in the folder Program Files > ... > SAP > SAP Business One > AddOns. File ID In order to view the files relevant for the External Report such as Crystal Reports, go to the Layoutdefinition > External Report and choose the button next to the field File ID:

Relevant Files Two files are required to design reports with Crystal: 1. Crystal Reports Design file (*.rpt), which is stored in the folder FileToDesign. 2. The dataschema which stores both the data used in the report and the schema (information if a field is string or integer, etc.). This .xml file is created as soon as Crystal Reports is launched from the layoutdefinition and stored in the Extensions Folder under "Extension Folder + "\SWA_LD\ExternalReport\FILE ID\dataSchema.xml". How to change the Extensions Folder 1. Enter the path to the new Extensions Folder. 2. Restart coresuite for the folders to get copied. 3. Carry out a Reinstall for all paths to get updated. Go to Modules > Administration > Add-Ons > coresuite designer > Configuration > Install and choose Reinstall.

CORESUITE DESIGNER

416

6.6.9.3

Multi-language reports

Together with the data relevant for your documents or reports coresuite also provides the datasource for all translated texts in a table called SWA_LD_Txt. Drag and drop the text code from the Field Explorer into a textbox in your report to ensure your reports will always be translated to the required language.

CORESUITE DESIGNER

417

6.6.9.4

Multi-layouts

The best practice is to look at the DOC_Document DIN - RPT (DOC40000) layout delivered for all marketing layouts to get some details. The general idea is to use 1. Formula Fields in Crystal Reports to store dynamic values. 2. either the Object Type from the data field {Document.ObjType} or the FormType from the data field {SWA_LD_Par.FormType} to get the actual document or object type. 3. a different case for each object type.

CORESUITE DESIGNER

418

6.6.9.5

Pre-defined datasources

Next, you need to create a layoutdefinition for the Select Grid. In this layoutdefinition, you will include the query that you just created. The Select Grid needs a formtype, which is why we enter formCampaign in the column My FormType. In the column Title you can enter text that will appear as the title of the Select Grid window. Enter the following data: Name Christmas campaign - Select Grid Category Design Formtype Type Datasource Format Status Tab Queries Query 1 My FormType Title Tab Menu Parent Description BusinessPartner 134: Business Partner Select Grid BusinessPartner Default Active

Own Reports:Christmas campaign formAktion Please select the Business Partner(s)

Business Partner Reports Standard letter

Choose Update Menu.

If you choose Preview now, the Select Grid window opens. However, there is no functionality yet.

CORESUITE DESIGNER

419

From the System Information you can see that the form type of the Select Grid is formCampaign. This is the description that you defined in the column My FormType in the layoutdefinition.

CORESUITE DESIGNER

420

6.6.9.6

Remote designing

If you want to design your report on a system on which only Crystal Reports but not SAP Business One is installed, you only need to copy 2 files to your system: 1. Crystal Reports Design file (*.rpt) which is stored under "SAP Extension Folder + "\SWA_LD\ExternalReport\FILE ID\FileToDesign" 2. dataSchema.xml file The dataSchema.xml file provides the correct schema and sample data to design your report.

CORESUITE DESIGNER

421

6.6.9.7

Subreports links

When creating subreports it is important to set the correct link and filter to prevent any duplication of data in the Details section of your main report. You can adjust links and filters in your subreport after adding them. To do so, follow these steps: 1. Right-Click on your report and select Change Subreport Link s...

2. Select all fields from the main report that you will use in the subreport. This includes the fields to be used as a filter (e.g. LineNum) and fields that will be displayed in the subreport but are coming from the main report such as Texts, Formula Fields or General Data. We recommend you do NOT activate the checkbox "Select data in subreport based on field:"

3. Inside the subreport set the correct filter in the Select Expert:

CORESUITE DESIGNER

422

CORESUITE DESIGNER

423

6.6.10

Crystal Dashboard Designer (formerly XCelsius)

The following section provides information on Crystal Dashboard Designer. Please note that we only document functions that are specific to our integration of Crystal Dashboard Designer. For more detailed information, please refer to the F1 help and the documentation available online. Crystal Dashboard Designer is used to create dashboards. In order to prevent confusion, we will refer to the Crystal Dashboard Designer as XCelsius in this documentation.

CORESUITE DESIGNER

424

6.6.10.1

Opening Crystal Dashboard Designer

Create a new layoutdefinition to open XCelsius: Name Category Design Formtype Type Datasource Format Status Enter the name for your layout. Select a category, e.g. Sales Reports Select a Design Formtype or leave this empty. External Report Select a Datasource, e.g. SalesDash_SAR130003 (if there are parameters, ensure they are set correctly) Default Active

Tab Parameters Choose Get from Datasource to load the existing parameters. If there are no parameters, nothing will appear. Tab External Report Data Export Xcelsius XML Format Use Design File Activate this checkbox

Choose Add to create the layoutdefinition. Reopen this layoutdefinition and under File Path enter the path to the .xlf template file (this is the XCelsius design file). Choose Update and then Open Designer to launch the report in Crystal Dashboard Designer. The layout will be displayed in design mode.

CORESUITE DESIGNER

425

coresuite country package provides a sample XCelsius (.xlf) file which you can use to create your dashboard. The database connections are already defined in that file. The file is stored in the External Report folder in the default installation path of the coresuite designer. The dashboards delivered with the coresuite country package do not use the design file. This means you cannot make any adjustments to these dashboards apart from adjusting the Refresh Interval.

CORESUITE DESIGNER

426

6.6.10.2

Data transfer

To set the database connection in XCelsius go to Database > Connections. Definition In the XCelsius template provided with the coresuite country package, the definition for the database connection is already predefined and should not be changed. The settings are as displayed below:

Load Data For our dashboards we only load the data from the cache. The coresuite country package includes an XCelsius template with one sample query. This is used to load the company name and display it in the header of the dashboard.

To load your data into the XCelsius dashboard, follow the steps described below: 1. Create and save the query in SAP Business One in your own category. Do not use the General category. 2. Add the query to your layoutdefinition (under Layoutdefinition > Queries).

CORESUITE DESIGNER

427

3. In XCelsius enter the correct name of the query. Note the difference in query naming for Simple XCelsius XML and XCelsius XML. For more information, see Simple XCelsius XML vs. XCelsius XML. 4. Define the range in the Excel spreadsheet where XCelsius should enter the data.

Now the database connection has been set properly to load the data.

CORESUITE DESIGNER

428

Usage Do not forget to set the correct refresh interval under Usage tab.

CORESUITE DESIGNER

429

6.6.10.3

File storage

File Path All files are saved in the folder you specified under Modules > Administration > System Initialization > General Settings > Path > Extensions Folder. If you have not defined a folder there, the files will be saved in the folder Program Files > ... > SAP > SAP Business One > AddOns. File ID In order to view the files relevant for the External Report such as Crystal Reports you may select the browse button next to the File ID:

You can find this on the layoutdefinition on the tab External Report. Relevant Files Two files are required to display reports with XCelsius: 1. Flash file (*.swf), which is stored in the folder FileToView. 2. The data.xml, which stores the data loaded to the XCelsius Dashboard. This xml file is created as soon as XCelsius is launched from the layoutdefinition and stored in the Extensions Folder under "Extension Folder + "\SWA_LD\ExternalReport\FILE ID\data.xml". In order to design the XCelsius Dashboard a third file is required: 3. XCelsius design file (*.xlf). This file is stored in the folder "FileToDesign" and is not required to display the Dashboards in SAP Business One. The info.txt file stores the timestamp when the cache in the data.xml was refreshed the last time. How to change the Extensions Folder 1. Enter the path to the new Extensions Folder. 2. Restart coresuite for the folders to get copied. 3. Carry out a Reinstall for all paths to get updated. Go to Modules > Administration > Add-Ons > coresuite designer > Configuration > Install and choose Reinstall.

CORESUITE DESIGNER

430

6.6.10.4

Flash file integration

Once the XCelsius Dashboard is completed and exported to Flash file (*.swf) you may save the Flash file anywhere on your system or integrate it in the layoutdefinition as described below: 1. In the layoutdefinition, go to the External Report tab. 2. Choose the browse button at the end of the file path to select the Flash file (*.swf). 3. Choose Update to save your changes.

CORESUITE DESIGNER

431

6.6.10.5

Multi-language dashboards

In order to be able to display the labels and data of the dashboard in the current language set in SAP Business One, you may use the multi-language text codes of coresuite designer. For performance reasons we suggest to only load the text codes used in the XCelsius Dashboard. The XCelsius template provided with coresuite designer already contains a few examples of translated labels for dashboards.

Sample Query in SAP Business One


SELECT T0.Code, ISNULL(T2.Trans, T0.U_Text) AS 'Text' FROM [@SWA_LD_Text] T0 LEFT JOIN OMLT T1 ON T1.PK = T0.Code AND T1.TableName = '@SWA_LD_Text' AND T1. FieldAlias = 'U_Text' LEFT JOIN MLT1 T2 ON T2.TranEntry = T1.TranEntry AND T2.LangCode = '[%LangCode]' WHERE T0.Code IN ('T0070013') ORDER BY T0.Code

Code in the XCelsius Spreadsheet


=VLOOKUP("T0070013";SWA_LD_TEXT!A1:B50;2;FALSE)

CORESUITE DESIGNER

432

6.6.10.6

Simple XCelsius XML vs. XCelsius XML

To create Crystal Dashboards coresuite provides two data export formats: Simple XCelsius XML XCelsius XML The only difference is the query name in the XML file: In Simple XCelsius XML the queries are renamed to SWA_LD_Data_1 for the first query, SWA_LD_Data_2 for the second query, etc. In XCelsius XML the queries keep the name defined in the Query Manager.

CORESUITE DESIGNER

433

6.6.10.7

Refresh interval

All standard XCelsius reports delivered with the coresuite country package are refreshed automatically in a preset time Interval. That means in this interval, the queries from the datasource are executed and refreshed in the cache for the XCelsius dashboard. Depending on the requirements of the company and the amount of data to be retrieved, the time interval can be adjusted for each dashboard in the layoutdefinition under External Report >Refresh [seconds].

Note that the minimum refresh interval for the dashboards delivered with the country package is 10 seconds. This is the XCelsius default refresh interval. This also means that the actual refresh interval might be up to 10 seconds more than the interval set in the layoutdefinition as explained above. For customized dashboards you can adjust the refresh interval in XCelsius accordingly.

CORESUITE DESIGNER

434

6.6.10.8

Sample dashboards

The coresuite country package includes several Sample Dashboards which are designed with one component only. With these samples you can create your own dashboards without requiring the knowledge or access to Crystal Dashboards Designer software. When these simple dashboards are combined (e.g. in the SAP 8.8 Cockpit) they make a new user-defined dashboard with only data relevant for the specific company. Access You can find the available sample dashboards under Modules > Administration > Add-Ons > coresuite designer > Layoutmanagement. To filter the sample layouts proceed as follows: 1. Enter "sample" in the field Objectname. 2. Select the "General" from the Category drop-down box. 3. Choose Filter. 4. Choose Collapse/Expand to display all available samples. Available sample dashboards are: Sample Column Chart - Stock (GEN70002) Sample Gauge - Finance (GEN70001) Sample Pie Chart - Sales (GEN70002) The layoutdefinition of the sample dashboards is set to Inactive by default. Duplicate the sample dashboards and adjust them to your needs.

CORESUITE DESIGNER

435

6.6.10.8.1 Sample Column Chart - Stock (GEN70002)


The Sample Column Chart dashboard displays the Quantity of the Top 12 items in Stock in comparison to the Quantity Committed on Sales Orders. Dashboard

Sam ple colum n chart

All sample queries delivered with the coresuite country package with prefix COR_COL can be used for this dashboard container. Datasource SQL query /* ***** General Information ***** Name: COR_COL_Top12ItemsOnHand Description: Returns the in Stock Quantity in Comparison to the Is Committed Quantity of the 12 Items with most in Stock Creator: coresystems ag, muf Create Date: 16.07.2010 ***** StartConfDesc ***** This is a sample query for theComparison Bar Chart Widget which has to return * 6 Columns ** Column 1: Serie = Label for the Bar Chart X Axis ** Column 2: Category1 = Name of the first Category ** Column 3: Value1 = Values of the first Category per month ** Column 4: Category2 = Name of the second Category

CORESUITE DESIGNER

436

** Column 5: Value2 = Values of the second Category per month ** Column 6: Color1 (Optional) = Color of the first Category in Hexadecimal Format (Empty Value = Black, Not in the Select Query = Default Colors) ** Column 7: Color2 (Optional) = Color of the second Category in Hexadecimal Format (Empty Value = Black, Not in the Select Query = Default Colors) * 1 to 12 Rows ** Return the data per series

***** EndConfDesc ***** */ /* @@Timeout=[1200]*/ SELECT TOP 12 /* Label ItemCode */ ItemCode AS Serie /* Monthly Balance */ ,'In Stock' AS Category1 ,OnHand AS Value1 /* Monthly Budget */ ,'Is Committed' AS Category2 ,IsCommited AS Value2 /* ,'234767' /* BLUE */ AS Color1 ,'EAA013' /* YELLOW */ AS Color2 */ FROM OITM ORDER BY OnHand Desc

CORESUITE DESIGNER

437

6.6.10.8.2 Sample Gauge - Finance (GEN70001)


The Sample Gauge dashboard displays the Quantity of the Top 12 items in Stock in comparison to the Quantity Committed on Sales Orders. Dashboard

$ Sam ple gauge chart

All sample queries delivered with the coresuite country package with prefix COR_GAU can be used for this dashboard container. Datasource SQL query /* ***** General Information ***** Name: COR_GAU_TurnoverVsBudget Description: Returns the Percentage of Turnover in Comparison of the Budget for the current financial year (Total Journal Entries) The data is gathered from the View: [COR_VIEW_FIN_FINANCE]

CORESUITE DESIGNER

438

Creator: coresystems ag, muf Create Date: 16.07.2010 ***** StartConfDesc ***** This is a sample query for the Gauge Widget which has to return * 7 Columns ** Column 1: Value = Value for the Indicator in Percent ** Column 2: MaxLimit = Maximum Limit of the Gauge, since the value is determined as percentage the default would be 1 ** Column 3: FromRange1 = Range until when the alerts are red and go to yellow ** Column 4: FromRange2 = Range until when the alerts are yellow and go to green ** Column 5: Actual Value as amount ** Column 6: Target value, example budget ** Column 7: Delta (difference between Target and actual Value * 2 Rows ** Row 1: Labels ** Row 2: Values

SAMPLE: Value MaxLimit 0.574056 1 FromRange1 0.6 0.9 FromRange2 Turnover Budget 516650.960000 900000.000000 Delta 383349.040000

***** EndConfDesc ***** */ /* @@Timeout=[1200]*/ DECLARE @Today AS DATETIME SET @Today = (SELECT CAST(FLOOR(CAST(GETDATE() AS DECIMAL(12, 5) )) AS DATETIME )) /* Get the current Finance Year */ DECLARE @FinancYear AS DATETIME SET @FinancYear = (SELECT T0.FinancYear FROM OACP T0 INNER JOIN OFPR T1 ON T0. PeriodCat = T1.Category WHERE T1.F_RefDate <= @Today AND T1.T_RefDate >= @Today) DECLARE @ThousSep AS nvarchar(10) SELECT @ThousSep = ThousSep FROM OADM SELECT 'Value' AS Value ,'MaxLimit' AS MaxLimit ,'FromRange1' AS FromRange1 ,'FromRange2' AS FromRange2 ,'Turnover' AS Value ,'Budget' AS [Target] ,'Delta' AS Gap UNION ALL SELECT CASE WHEN SUM(DebMonthlyBudget - CredMonthlyBudget) = 0 THEN '1.0' ELSE CAST(SUM(Debit - Credit)/SUM(DebMonthlyBudget - CredMonthlyBudget) AS nvarchar( 521)) END AS Value ,'1' AS MaxLimit

CORESUITE DESIGNER

439

,'0.6' AS FromRange1 ,'0.9' AS FromRange2 /* Retun the amounts in with SAP Business One settings for Thousand Seperator and always 0 decimals */ ,REPLACE(REPLACE(CONVERT(varchar, CAST(ROUND(SUM(Credit - Debit),0) AS money),1),'.00',''),',',@ThousSep) AS Value ,REPLACE(REPLACE(CONVERT(varchar, CAST(ROUND(SUM(CredMonthlyBudget DebMonthlyBudget),0) AS money),1),'.00',''),',',@ThousSep) AS [Target] ,REPLACE(REPLACE(CONVERT(varchar, CAST(ROUND(SUM(CredMonthlyBudget DebMonthlyBudget) - SUM(Credit - Debit),0) AS money),1),'.00',''),',',@ThousSep) AS Gap FROM COR_VIEW_FIN_FINANCE V1 WHERE /* Use current Finance Year Only */ Year = DatePart(year,@FinancYear) /* Only use acoremask 40 of postable account and groupmask not eqal to 9*/ AND V1.CoreMask = '40' AND V1.Postable ='Y' AND V1.GroupMask <> 9 AND V1.Type <> 'BTF1_JournalVoucher'

CORESUITE DESIGNER

440

6.6.10.8.3 Sample Pie Chart - Sales (GEN70002)


The Sample Pie Chart dashboard displays the Quantity of the Top 12 items in Stock in comparison to the Quantity Committed on Sales Orders. Dashboard

Sam ple pie chart w ith legend

Click on the magnifier to hide the legend and enlarge the pie chart. To go back to the previous view, choose the information icon.

CORESUITE DESIGNER

441

Sam ple pie chart w ithout legend

All sample queries delivered with the coresuite country package with prefix COR_PIE can be used for this dashboard container Datasource SQL query /* ***** General Information ***** Name: COR_PIE_TopItems Description: Returns the Top 10 Items by Sales Revenue (Total of all Invoices and Credit Memos) The data is gathered from the View: [COR_VIEW_SAR_SALES] Creator: coresystems ag, muf Create Date: 16.07.2010 ***** StartConfDesc ***** This is a sample query for the Pie Chart Widget which has to return * 2 to 3 Columns ** Column 1: Name = Description in the Legend ** Column 2: Value = Value to display in the Pie Chart

CORESUITE DESIGNER

442

** Column 3: Color (Optional) = Color to display in Hexadecimal Format * 0 to 10 Rows ** Maximal 10 parts are displayed in the Pie Chart ***** EndConfDesc ***** */ /* @@Timeout=[1200]*/ SELECT TOP 10 SUBSTRING(ItemName,0,20) AS Name ,SUM(LineTotal) AS Value /*,CASE ROW_NUMBER() OVER(ORDER BY WHEN '1' THEN '43900A' WHEN '2' THEN 'EAA013' WHEN '3' THEN 'B80D02' WHEN '4' THEN '234767' WHEN '5' THEN '161616' ELSE '' END AS color*/ FROM [COR_VIEW_SAR_SALES] WHERE ObjType IN ('13','14') GROUP BY ItemName ORDER BY SUM(LineTotal) DESC

SUM(LineTotal) DESC) /* GREEN */ /* YELLOW */ /* RED */ /* BLUE */ /* DARK GREY */

CORESUITE DESIGNER

443

6.6.11

FAQ

In our forum you will find an FAQ section for coresuite designer: http://forum.coresystems.ch/topic/1142-coresuite-designer-q-a/

Other frequent questions include: What is the difference between the Datasources Document_88 and Document for Marketing Documents? See answer under Document_88 vs Document Datasource Why is it very slow or I even get Timeout errors when printing marketing documents after upgrading SAP Business One to Version 8.8? See answer under How to use the new Datasource Why are my VAT details not displayed in the Marketing Documents when using the Datasource Document_88? See answer under How to adjust VAT Subtotals Why are my Batch Number details not displayed in the Marketing Documents when using the Datasource Document_88? See answer under How to adjust Batch Number details Why are my Serial Number details not displayed in the Marketing Documents when using the Datasource Document_88? See answer under How to adjust Serial Number details Why are wrong signs (+/-) displayed in the paid amount of payments (BAN10000)? See answer under How to fix sign errors in payments

CORESUITE DESIGNER

444

6.6.11.1

Document_88 vs Document Datasource

Due to new tables introduced in SAP 8.8 for batch and serial numbers, we introduced a new datasource document_88 for Marketing documents. The datasource document is still available for compatibility reasons but not used in the latest version of the coresuite country package. The datasource may still be used in user defined layouts. The tables on the following pages explain the similarities and differences between these two datasource and when you should use which datasource. Description Supported SAP Business One versions Document_88 SAP Business One 2007 SP01 SAP Business One 8.8 Document SAP Business One 2007 SAP Business One 8.8 We experienced major performance issues in version 8.8 when using this datasource in a company database that handles many batch or serial numbers. Handling of VAT subtotals The former datasource "Document" included 5 queries for compatibility reasons. These were replaced by one query in the new datasource "Document_88" to improve the overall performance. Available datasource queries are: B1_Data.Document. DocumentDocumentWithExpDpm VatSum When changing an existing layout to use the new datasource "Document_88" the databand that display the VAT Subtotals must be adjusted. See details below. Available datasource queries are: B1_Data.Document. DocumentVatSum B1_Data.Document. DocumentDpmVatSum B1_Data.Document. DocumentExpVatSum B1_Data.Document. DocumentDocumentWithExpVatS um B1_Data.Document. DocumentDocumentWithExpDpm VatSum Available datasource queries are: B1_Data.Row. RowRowBatchNumbers Relevant data from tables (VIEW in SAP Business One 8.8) OIBT - Batch Number for Item IBT1 - Batch Number Transaction

Handling of batch numbers

Available datasource queries are: B1_Data.Row. RowRowBatchNumbers Relevant data from tables: SAP Business One 8.8 OITL - Inventory Transaction Log ITL1 - Serial & Batch Details in Transaction OBTQ - Batch Number Quantities SAP Business One 2007 OIBT - Batch Numbers for Item IBT1 - Batch Number Transaction B1_Data.Row. RowRowBatchNumbers. BatchNumbersMaster Relevant data from tables: OBTN (Batch Numbers Master Data) OR in case of draft documents

CORESUITE DESIGNER

445

Description

Document_88 OBDN (Batch Numbers - Draft Master Data) For SAP Business One version 2007 the datasource BatchNumbersMaster returns an empty row

Document

Handling of serial numbers

Available datasource queries are: B1_Data.Row. RowRowSerialNumbers Relevant data from tables: SAP Business One 8.8 OITL - Inventory Transaction Log ITL1 - Serial & Batch Details in Transaction OSRQ - Serial Number Quantities SAP Business One 2007 OSRI - Serial Numbers for Item SRI1 - Serial Number Transaction for Item B1_Data.Row. RowRowSerialNumbers. SerialNumbersMaster Relevant data from tables: OSRN (Serial Numbers Master Data) OR in case of draft documents ODSN (Serial Numbers - Draft Master Data) For SAP Business One version 2007 the datasource SerialNumbersMaster returns an empty row.

Available datasource queries are: B1_Data.Row. RowRowSerialNumbers Relevant data from tables (VIEW in SAP Business One 8.8) OSRI - Serial Numbers for Item SRI1 - Serial Number Transaction for Item

CORESUITE DESIGNER

446

6.6.11.1.1 RowBatchNumbers
Fields RowRowBatchNumbers Below is a detailed view of the fields in the datasource RowRowBatchNumbers Name Description Document_88: Origin SAP Business One Table.Field @@RDR1.DocEntry Document: Origin SAP Business One Table. Field @@RDR1.DocEntry @@RDR1.LineNum IBT1.Quantity

DocEntry LineNum Quantity

Unique key of the relevant document

Unique key of the relevant line/row in @@RDR1.LineNum the document Actual quantity of the batch in the document line WHEN Sales Order THEN ABS(SUM(ITL1. AllocQty)) ELSE ABS(SUM(ITL1. Quantity)) WHEN Sales Order THEN ABS(SUM(ITL1. DocQty)) ELSE ABS(SUM(ITL1. DefinedQty)) WHEN SUM(ITL1. Quantity) > 0 THEN 0 ELSE 1 OITL.ItemCode OBTN/ODBN.DistNum OBTQ.WhsCode OITL.ItemName

TotalQuantity

Total quantity of the batch in the document

Direction

Batch is coming in or going out of stock 0: In (default) 1: Out Unique key for the item Distinct number for batches Warehouse where the batch is located Description of the item System number Batch attribute 1 Batch attribute 2 Batch expiration date Batch manufacturing date Batch admission date Batch location Batch details Duplicate field in datasource document Actual quantity of the batch in the document row Transaction type -1, 0

IBT1.Direction

ItemCode BatchNum WhsCode ItemName SysNumber SuppSerial IntrSerial ExpDate PrdDate InDate Located Notes Quantity1

OIBT.ItemCode OIBT.BatchNum OIBT.WhsCode OIBT.ItemName

OBTN/ODBN.SysNumber OBTN/ODBN.MnfSerial OBTN/ODBN.LotNumber OBTN/ODBN.ExpDate OBTN/ODBN.MnfDate OBTN/ODBN.InDate OBTN/ODBN.Location OBTN/ODBN.Notes - (Duplicate field in datasource document) OIBT.SuppSerial OIBT.IntrSerial OIBT.ExpDate OIBT.PrdDate OIBT.InDate OIBT.Located OIBT.Notes OIBT.Quantity

BaseType

OITL.DocType

OIBT.BaseType

CORESUITE DESIGNER

447

Name

Description

Document_88: Origin SAP Business One Table.Field

Document: Origin SAP Business One Table. Field

13 A/R Invoice 15 Delivery 16 Returns 17 Sales Order 18 A/P Invoice 20 Goods Receipt PO 21 Goods Return 22 Purchase Order 23 Sales Quotation 59 Goods Receipt 67 Inventory Transfer 69 Landed Costs 163 A/P Correction Invoice 164 A/P Correction Invoice Reversal 165 A/R Correction Invoice 166 A/R Correction Invoice Reversal 202 Production Order 203 A/R Down Payment 204 A/P Down Payment BaseEntry BaseNum BaseLineNum CardCode CardName CreateDate Status Direction1 Base document internal ID Base document number Base document row number Business partner code Business partner name Batch creation date Status Duplicate field in datasource document Batch is coming in or going out of stock 0: In (default) 1: Out Committed quantity Ordered Counted quantity Consignment goods warehouse Data source User signature Transferred Instance Log internal ID OITL.DocEntry OITL.DocNum OITL.DocLine OITL.CardCode OITL.CardName OBTN/ODBN.CreateDate OBTN/ODBN.Status - (Duplicate field in Datasource Document) OIBT.BaseEntry OIBT.BaseNum OIBT.BaseLineNum OIBT.CardCode OIBT.CardName OIBT.CreateDate OIBT.Status OIBT.Direction

IsCommitted OnOrder CountQty Consig DatasSource UserSign Transferred Instance LogEntry

OBTQ.CommitQty OBTQ.CountQty MIN(OITL.LogEntry)

OIBT.IsCommitted OIBT.OnOrder OIBT.Consig OIBT.DataSource OIBT.UserSign OIBT.Transferred OIBT.Instance -

CORESUITE DESIGNER

448

Name

Description

Document_88: Origin SAP Business One Table.Field MIN(OITL.TransId) OITL.ManagedBy

Document: Origin SAP Business One Table. Field -

TransId ManagedBy

Transaction ID Management method 10000044 - Batch Numbers 10000045 - Serial Numbers 4 - Item Stock effect (default 0) 0 - ACCUM_EMPTY 1 - ACCUM_ON_HAND 2 - ACCUM_COMMITTED Doc. quantity Stock affecting quantity (+): stock receipt (-): stock issue (0): stock quantity 0 for documents that do not affect the stock Location type Applied document number Primary key to BatchNumbersMaster

StockEff

OITL.StockEff

DocQty StockQty

SUM(OITL.DocQty) SUM(OITL.StockQty)

LocType AppDocNum AbsEntry

OITL.LocType OITL.AppDocNum OBTN.AbsEntry

CORESUITE DESIGNER

449

6.6.11.1.2 RowSerialNumbers
Fields RowRowSerialNumbers Below is a detailed view of the fields in the datasource RowRowSerialNumbers Name Description Document_88: Origin SAP Business One Table.Field @@RDR1.DocEntry Document: Origin SAP Business One Table. Field @@RDR1.DocEntry @@RDR1.LineNum SRI1.Direction

DocEntry LineNum Direction

Unique key of the relevant document

Unique key of the relevant line/row in @@RDR1.LineNum the document Serialized Item is coming in or going out of stock 0: In (default) 1: Out Warehouse where the item is located Unique key for the item Distinct system number for serial Manufacturer serial no. Serial number Lot number Serialized item expiration date Serialized item manufacturing date Serialized item admission date Mfr warranty start date Mfr warranty end date Serialized item location Serial details Actual quantity of the serialized item in the document line WHEN SUM(ITL1. Quantity) > 0 THEN 0 ELSE 1 OSRQ.WhsCode OITL.ItemCode OSRN/ODSN. SysNumber OSRN/ODSN.MnfSerial OSRN/ODSN.DistNum OSRN/ODSN.LotNumber OSRN/ODSN.ExpDate OSRN/ODSN.MnfDate OSRN/ODSN.InDate OSRN/ODSN.GrntStart OSRN/ODSN.GrntExp OSRN/ODSN.Location OSRN/ODSN.Notes WHEN Sales Order THEN ABS(SUM(ITL1. AllocQty)) ELSE ABS(SUM(ITL1. Quantity)) WHEN Sales Order THEN ABS(SUM(ITL1. DocQty)) ELSE ABS(SUM(ITL1. DefinedQty)) OITL.DocType

WhsCode ItemCode SysSerial SuppSerial IntrSerial BatchId ExpDate PrdDate InDate GrntStart GrntExp Located Notes Quantity

SRI1.WhsCode OSRI.ItemCode OSRI.SysSerial OSRI.SuppSerial OSRI.IntrSerial OSRI.BatchId OSRI.ExpDate OSRI.PrdDate OSRI.InDate OSRI.GrntStart OSRI.GrntExp OSRI.Located OSRI.Notes OSRI.Quantity

TotalQuantity

Total quantity of the serialized item in the document

BaseType

Transaction type -1, 0 13 A/R Invoice 15 Delivery

OSRI.BaseType

CORESUITE DESIGNER

450

Name

Description

Document_88: Origin SAP Business One Table.Field

Document: Origin SAP Business One Table. Field

16 Returns 17 Sales Order 18 A/P Invoice 20 Goods Receipt PO 21 Goods Return 22 Purchase Order 23 Sales Quotation 59 Goods Receipt 67 Inventory Transfer 69 Landed Costs 163 A/P Correction Invoice 164 A/P Correction Invoice Reversal 165 A/R Correction Invoice 166 A/R Correction Invoice Reversal 202 Production Order 203 A/R Down Payment 204 A/P Down Payment BaseEntry BaseNum BaseLineNum CreateDate CardCode CardName ItemName Status Direction1 Base document internal ID Base document number Base document row number Serial creation date Business partner code Business partner name Description of the item Status Duplicate field in datasource document Serialized Item is coming in or going out of stock 0: In (default) 1: Out Data source User signature Transferred Instance Log internal ID Transaction ID Management method 10000044 - Batch Numbers 10000045 - Serial Numbers 4 - Item OITL.DocEntry OITL.DocNum OITL.DocLine OSRI.BaseEntry OSRI.BaseNum OSRI.BaseLineNum

OSRN/ODSN.CreateDate OSRI.CreateDate OITL.CardCode OITL.CardName OITL.ItemName OSRN/ODSN.Status - (Duplicate field in Datasource Document) OSRI.CardCode OSRI.CardName OSRI.ItemName OSRI.Status OSRI.Direction

DatasSource UserSign Transferred Instance LogEntry TransId ManagedBy

MIN(OITL.LogEntry) MIN(OITL.TransId) OITL.ManagedBy

OSRI.DataSource OSRI.UserSign OSRI.Transferred OSRI.Instance -

CORESUITE DESIGNER

451

Name

Description

Document_88: Origin SAP Business One Table.Field OITL.StockEff

Document: Origin SAP Business One Table. Field -

StockEff

Stock effect (default 0) 0 - ACCUM_EMPTY 1 - ACCUM_ON_HAND 2 - ACCUM_COMMITTED Doc. quantity Stock affecting quantity (+): stock receipt (-): stock issue (0): stock quantity 0 for documents that do not affect the stock Location type Applied document number Primary key to BatchNumbersMaster

DocQty StockQty

SUM(OITL.DocQty) SUM(OITL.StockQty)

LocType AppDocNum AbsEntry

OITL.LocType OITL.AppDocNum OSRN/ODSN.AbsEntry

CORESUITE DESIGNER

452

6.6.11.2

How to use new Datasource

Issue After upgrading SAP Business One to Version 8.8 It takes much longer to print or preview Marketing Documents There is a Timeout error when printing or previewing Marketing Documents Reason New Tables for Serial and Batch Numbers were introduced in SAP 8.8. The old Tables where replaces by SQL Views. When using these views in the original Datasource SQL Query combined in JOINs with other tables it takes many resources to get the results. The more Serial and/or Batch Numbers are in a Company Database the slower it will be to return these Results. Solution Use the datasource Document_88 instead of Document in the affected Layouts. 1. Open a relevant document (example AR Invoice) and preview the layout by choosing Preview... Menu > File > Preview. or via

2. From the preview launch the Layoutdefinition by choosing Print Layout Designer... or via Menu > Tools > Print Layout Designer... 3. Change the Datasource in the Layoutdefinition to "Document_88" and update the Layoutdefinition

CORESUITE DESIGNER

453

6.6.11.3

How to adjust VAT Subtotals

Issue After changing the Datasource in the Layout: VAT Values are not displayed in the printout or preview anymore. When launching the Report Preview from the Designer the following Render message appears:

Reason The Datasources B1_Data.Document.DocumentVatSum, B1_Data.Document.DocumentDpmVatSum, B1_Data.Document.DocumentExpVatSum and B1_Data.Document.DocumentDocumentWithExpVatSum were removed in the Datasource Document_88. Solution Use the correct Datasource. 1. Open the Sharpshooter designer from the Layoutdefinition by selecting the Open Designer Button 2. Find the databand in the Document tree that displays the VAT Subtotals of the Document. Example in the DIN Layout DocumentVATSum AdvancedDataBand

3. Change the DataSource Property of the Databand to the correct Datasource B1_Data.Document. DocumentDocumentWithExpDpmVatSum

CORESUITE DESIGNER

454

CORESUITE DESIGNER

455

6.6.11.4

How to adjust Batch Number details

Issue After changing the Datasource in the Layout: Details on Batchnumbers (for example Dates, Notes, User Defined Fields, ...) are not displayed in the printout or preview anymore. When launching the Report Preview from the Designer a Render message appears to notify that certain Datasource field(s) related to Batch Numbers were not found:

The default Marketing DIN layout "Document DIN - LD (DOC00008)" delivered with the coresuite country package is NOT affected by this issue as the relevant details are not displayed. Reason Due to the changes in the Table structure for Batch Numbers in SAP Business One we had to move the Batch Number Details like Dates, Notes, User Defined Fields, ... to a new Datasource Query BatchNumbersMaster. Solution Draw the data from the new Datasource Query RowBatchNumbersBatchNumbersMaster 1. Open the Sharpshooter designer from the Layoutdefinition by choosing Open Designer. 2. Find the databand in the Document tree that displays the Batch Number details of the Document on Item Level. Example in the DIN Layout "Document DIN - LD (DOC00008)" look for the DocumentRowBatchNumbers AdvancedDataBand in the Document tree under > doc1 > page1 > Document > DocumentRow > RowGroup

CORESUITE DESIGNER

456

3. Adjust the relevant Text Fields to draw the data from the new Datasource Query RowBatchNumbersBatchNumbersMaster. Example in the DIN Layout "Document DIN - LD (DOC00008)" use the relevant fields (Example CreateDate, ExpDate, UDF,...) of the subquery RowBatchNumbersBatchNumbersMaster of the AdvancedDataBand DocumentRowBatchNumbers under Bands.

CORESUITE DESIGNER

457

6.6.11.5

How to adjust Serial Number details

Issue After changing the Datasource in the Layout: Details on Serial Numbers (for example Dates, Notes, User Defined Fields, ...) are not displayed in the printout or preview anymore. When launching the Report Preview from the Designer a Render message appears to notify that certain Datasource field(s) related to Serial Numbers were not found:

The default Marketing DIN layout "Document DIN - LD (DOC00008)" delivered with the coresuite country package is NOT affected by this issue as the relevant details are not displayed. Reason Due to the changes in the Table structure for Serial Numbers in SAP Business One we had to move the Serial Number Details like Dates, Notes, User Defined Fields, ... to a new Datasource Query SerialNumbersMaster. Solution Draw the data from the new Datasource Query RowSerialNumbersSerialNumbersMaster. 1. Open the Sharpshooter designer from the Layoutdefinition by selecting the Open Designer Button. 2. Find the databand in the Document tree that displays the Serial Number details of the Document on Item Level. Example in the DIN Layout "Document DIN - LD (DOC00008)" look for the DocumentRowSerials AdvancedDataBand in the Document tree under > doc1 > page1 > Document > DocumentRow > RowGroup

3. Adjust the relevant Text Fields to draw the data from the new Datasource Query

CORESUITE DESIGNER

458

RowSerialNumbersSerialNumbersMaster. Example in the DIN Layout "Document DIN - LD (DOC00008)" use the relevant fields (Example CreateDate, ExpDate, UDF,...) of the subquery RowSerialNumbersSerialNumbersMaster of the AdvancedDataBand DocumentRowSerials under Bands.

CORESUITE DESIGNER

459

6.6.11.6

How to fix sign errors in payments

Issue After upgrading coresuite from a version lower than 3.15 paid amounts in payments with layout BAN1000 are displayed with the wrong sign (+/-). Reason The datasource DocumentPayment did not cover all different scenarios for outgoing and incoming payments of Invoices, Credit Notes and Journal Entries for customers and vendors. There were cases when the wrong sign was displayed. To fix some of these errors in previous versions of coresuite the layout was adjusted with an extra condition to correct the signature in the Paid column of the layout. In coresuite version 3.20 we corrected the datasource DocumentPayment to return the correct sign. Therefore the condition entered in the layout is not required anymore. Solution If you use the original coresuite layout without any adjustments simply reinstall the layout. The version of the corrected layout is equal or higher than 3.1100. If you have made adjustments to the layout and a reinstall would delete these adjustment there is one text box that needs to be adjusted: 1. Open the layoutdefinition Payment Notification - LD (BAN10000) and choose Open Designer to edit the layout. In the designer select the properties of the text box PaidAmountDetails. Choose Bindings and the property Value. The old incorrect value of this textbox in layoutdefinition version 2.9203 is: iif(DB_Payment("LineObjType") = 14 Or DB_Payment("LineObjType") = 19, iif(isFC,DB_Payment ("OriginalCurr") &" "& LD.FStr(DB_Payment("AppliedFC")* -1, "N"),LD.FStr(DB_Payment ("SumApplied")* - 1,"N")),iif(isFC,DB_Payment("OriginalCurr") &" "& LD.FStr(DB_Payment ("AppliedFC"), "N"),LD.FStr(DB_Payment("SumApplied"),"N"))) Delete the value and enter the following instead: iif(isFC,DB_Payment("OriginalCurr") &" "& LD.FStr(DB_Payment("AppliedFC"), "N"),LD.FStr (DB_Payment("SumApplied"),"N"))

2. 3.

4.

CORESUITE DESIGNER

460

CORESUITE DESIGNER

461

CONTACT
For further information and support, please visit our website: www.coresuite.com Infoline: +41 (0)848 088 088 Address: coresystems ag Villa im Park 5210 Windisch Switzerland

You might also like