Boyum for Creating Seasonal Sales within SAP B1
Use Boyum for creating seasonal sales or improve pricing capabilities in SAP B1. SAP offers a wide range of pricing capabilities, catering to customers who require specific pricing structures for sales, seasonal promotions, or clearance of slow-moving inventory. Mascidon leverages Boyum B1 Productivity tools to create this functionality, employing the 'Line Loop' with SQL queries and the 'While' macro within the application.
Enhance SAP Efficiency with B1UP
Unlock better decision-making with B1UP, empowering SAP users to access data in innovative ways without straining existing resources. Simplify your business operations by streamlining SAP processes and customizing them to align with your workflows, enabling you to maximize productivity.
Ensure data accuracy for SAP users through automated validation checks, eliminating the need for manual coding. SAP Business One users can now enjoy advanced SAP customization previously reserved for SAP development specialists. Talk to Dr. Don Maes today to learn more.
Ensure data accuracy for SAP users through automated validation checks, eliminating the need for manual coding. SAP Business One users can now enjoy advanced SAP customization previously reserved for SAP development specialists. Talk to Dr. Don Maes today to learn more.
Elevate Business Communication with B1 Print & Delivery
As a SAP Business One consultant, I'll help optimize your business communication processes through additional modules, such as B1 Print & Delivery (B1P&D). This tool automates communication flows within SAP Business One, allowing employees to focus on core tasks by handling communication-related activities like emailing, document processing, and report management.
Foster team collaboration through custom messages on platforms like Microsoft Teams or Slack, and automate internal communication within SAP Business One. Let B1 Print & Delivery streamline your communication tasks while your team pursues business objectives efficiently.
Foster team collaboration through custom messages on platforms like Microsoft Teams or Slack, and automate internal communication within SAP Business One. Let B1 Print & Delivery streamline your communication tasks while your team pursues business objectives efficiently.
Using Boyum to add 'Special Items Sales' Within SAP B1
This Boyum application allows users to track 'Sale Item Pricing' within SAP. For example, 'Special items sales' could be created to address seasonal sales, reduce excess inventory, or increase sales movement for specific items.
This application assumes:
1. Only a selective group of inventory products are 'sale' priced;
2. Not all customers are eligible to participate in this sale; and
3. The 'sale' is for a limited period of time.
To implement the creation of the sale, these steps are involved:
1. Use SAP standard functionality to create a price list that documents the pricing for items included in the sale. This process is not explained, as I assume you have some knowledge of SAP.
2. Use Boyum to provide the means to 'select' which customers are eligible for the sale. This includes providing the means to use a check box to select the eligible customers and then have the system update the eligible customers.
3. Use Boyum to provide the means to 'Reset' eligible customers in order to restart the eligibility process.
4. Use Boyum to automatically use the 'sales price' for sales items for eligible customers.
Create a Seasonal Price List
Selecting Eligible Customers
After setting up a price list, the next step is to select which customers are eligible for the sale. To accomplish this a button 'Flag BPs' has been added to the BP master screen using the Boyum Item placement tool.
Using a Boyum B1 Validation, the button calls a Boyum Universal Function to prompt the user to select one of the 3 options - Flag BPs; Reset Flags; Show Flagged BPs.
Flagging the Customers Use Selective SQL Query
Clicking on the 'Flag BPs' button calls a Boyum Universal Function to execute a SQL query. Note: if using Hana, the query would be changed to match Hana format.
Use the 'Format' wizard to select the first column as editable. This provides the means to 'Select' a customer as eligible / ineligible for the sale.
Be sure to set the field 'FormType Suffix' as not doing so will result in other 'SQL UF queries' displaying a 'Close' button that is not intended.
The resulting SQL screen is shown with the check box unselected for the 1st column. You could default it to 'Selected' using SQL.
At this point the user checks which customers are eligible for the sale items and then clicks the 'Close' button.
Updating Customer Flag
The customer record must reflect that this customer is eligible for the sale. I chose to use 'Property 64' in the customer master record to identify eligible customers. Most SAP users have one or more customer properties open, so this can be altered if property 64 is already in use. Alternatively, a user defined field in the business partner could be the 'eligibility' flag.
When the user 'checks' the customers that are eligible and then clicks on the 'Close' button, property flag 64 for the selected customers is updated. This executes a Boyum Universal function. This is a 'Line Loop' universal function that only executes for those records on the query screen that have been 'Checked'.
For each checked customer the 'line loop' executes the Boyum Universal Function SP-03 - which is a macro that does the following:
a. Opens and activates the business partner master screen
b. Moves the customer code 'selected' from the query to the business partner code on the BP master screen
c. Clicks the 'Find' button on the BP master screen
d. Clicks the 'Property 64' field - thereby 'Selecting' this property
e. Clicks the 'Update' button on the BP master screen
f. Closers the BP master screen
This process is repeated in the line loop for each of the customers selected. Then the line loop completes its function by executing the Boyum Universal function SP-02 to close the query form. The last step in SP-02 runs a query of all BP's selected as eligible - just so the user can check if they made any errors.
Boyum Line Loop to Process Customers
Running this update sets the 'Property Flag 64' for each business partner that is eligible for the 'Sale'. You can run a query showing the customers eligible at any time (SP-06). This report is available from the 'Flag BPs' button on the BP master File screen.
Resetting Customer Flags - use the 'WHILE' macro
Clicking on the 'Reset Flags' button calls a Boyum Universal Function macro to reset the Business partner proerty 64 flag (off). The means chosen for this reset is to use the 'WHILE' macro command. The 'while' is true as long as there are any customers with property 64 set to 'Y'. When this is no longer true, the macro provides a message indicating the update is complete.
A 'Transfer' command using SQL extracts the 'count' of the number of customers with property flag 64 set to 'Y' - and stores this information in the macro variable @STORE1.
The macro 'While' command then checks the value of the @STORE1 variable and exits the processing when it is zero.
Within the 'While' loop the system finds the 'first' customer with property 64 set to 'Y' and stores this information @STORE2. Then a series of macro commands opens up the customer screen, populates the customer id with @STORE2, 'finds' the customer, sets property 64 to 'N', updates the BP data, and closes the BP master screen for the customer just updated.
Another 'Transfer' SQL command recounts the number of customers with property flag 64 = 'Y'. As long as the count is greater than zero, the 'While' loop continues.
After the 'While' loop ends, a popup message indicates the flags have all been reset.
Defaulting Item Price to 'Sales Price List' on Sales Orders - Using Boyum 'Validate'
The previous steps defined a 'sales price list' with prices for a select group of items. Then we used Boyum to identify the customers that were eligible for partaking in this sale. The last step is to use Boyum to set the item price to the 'sales price' if the customer is eligible, and the item has a sales price, and the sales order is within the 'sales price list starting and ending dates.
Using SAP tools, we could associate a start and end date for a 'price list'.
NOTE: reference the accompanying shot of the price lists and note that the 'sale price list' has a date range of 03/01/2023 to 04/08/2023.
Use SAP Tools to Add Start - End Dates to Price Lists
To have the price from the 'sales price list' default properly on a sales order, the following must be true:
a. The item being ordered must have a non-zero price in the 'sales price list';
b. The order date must within the start - end date defined for this 'sales price list'.
c. The customer must be eligible for the sales pricing;
Normally the price list default for the customer is NOT the 'sales price list'. Boyum can be used to force the item price to be retrieved from the sales price list and used in the sales order entry. This is done with a Boyum B1 Validation on the sales order screen when leaving the 'Item' entry column.
If the SQL conditions (as defined for a, b, c above) are met, then the price is retrieved from the 'Sales price list' (List number = 6 in my example) and displayed on the sales order for this item.
Sales Order Entry - Defaulting the Sales List Prices
The end result of the Boyum functions is that as a sales order is entered for an eligible customer, within the date range of the sale, for an item that has a 'sale' price set up in a 'sales list' price list, the sale price defaults correctly.
Summary of Boyum Use for setting up 'Sales Pricing'
Boyum was used to create a function in SAP to allow the user to set up a 'Sales Price'. The 'Sale' was defined for a specific period of time and the Boyum functions have no impact outside of this time period. A new 'Price List' was defined that contained only the items that are being included in the sale. This was done with standard SAP functionality.
NOTE: you can import a new price list from Excel - alleviating the cumbersome keying into SAP.
Once the 'sales price list' was defined, Boyum functions were used to selectively determine which customers were eligible for the sale. The Boyum functions included: an 'editable SQL' query; a 'line loop' to process the 'selected' customers; a macro to update customer property 64 in the BP Master screen; and a 'While' macro to reset property 64 when needing to restart a new sales process.
With the pricing defined and the eligible customers defined, a Boyum function was used to retrieve the 'sales pricing' for eligible customers wanting to purchase items on sale within the sale time frame. This Boyum 'Validation' function called a price lookup function that populated the price for the item.
NOTE: the last step - the 'validation' process can be extended to delivery orders and invoices by altering the 'Formtype' field on the B1 Validation from '139' to '139,140,133'. This is useful if customer purchases can be entered without 'sales orders'.