Blog

  • Setting Up Date Checks to Goods Receipt for Purchase Order

    Shelf Life Expiration Date Check

    When you receive goods from a supplier, the system may check the minimum shelf life of the goods during the goods receipt. You can therefore ensure that goods are only placed in storage if their shelf life corresponds with your requirements.

    crm

    Checking the Minimum Shelf Life (with Total Shelf Life)

    For materials without a batch management requirement, you can enter and check the minimum SLED for only the GR. You can also print the minimum SLED on the GR and goods issue (GI) slip.

    cyber security

    For materials with a batch management requirement, it is possible to use the SLED in batch determination for GIs and analyses for batches.

    data analytics

    Too Early or Too Late Delivery

    For each purchase order item, Purchasing specifies a delivery date. The system may check during the GR posting whether the goods are delivered too early or late.

    digital transformation

    To check whether the delivery is made before the planned delivery date, you must set message number 254 (work area M7) as the warning or error message in Customizing.

    erp

    Define the attributes of system messages in Customizing for Materials Management under Inventory Management and Physical InventoryDefine Attributes of System Messages (OMCQ).

    feature

    If the GR date lies before the planned delivery date in the PO, the system then issues the message Earliest delivery date is … according to your settings.

    financial

    If you have set the message 254 as an error message, you can still post prematurely delivered goods to non-valuated or valuated GR blocked stock. If the delivery date is achieved, you can release the GR blocked stock. The check for premature delivery may be useful if your storage capacity is limited.

    hrms

  • Understand when and why to use Razor Pages

    In this unit, you’ll learn when and why to use Razor Pages for your ASP.NET Core app.

    lean six sigma certification training courses malaysia

    The benefits of Razor Pages

    Razor Pages is a server-side, page-centric programming model for building web UIs with ASP.NET Core. Benefits include:

    • Easy setup for dynamic web apps using HTML, CSS, and C#.
    • Organized files by feature for easier maintenance.
    • Combines markup with server-side C# code using Razor syntax.

    Razor Pages utilize Razor for embedding server-based code into webpages. Razor syntax combines HTML and C# to define the dynamic rendering logic. This means you can use C# variables and methods within your HTML markup to generate dynamic web content on the server at runtime. It’s important to understand that Razor Pages are not a replacement for HTML, CSS, or JavaScript, but rather combines these technologies to create dynamic web content.

    application services

    Separation of concerns

    Razor Pages enforces separation of concerns with a C# PageModel class, encapsulating data properties and logic operations scoped to its Razor page, and defining page handlers for HTTP requests. The PageModel class is a partial class that is automatically generated by the ASP.NET Core project template. The PageModel class is located in the Pages folder and is named after the Razor page. For example, the PageModel class for the Index.cshtml Razor page is named IndexModel.cs.

    crm

    When to use Razor Pages

    Use Razor Pages in your ASP.NET Core app when you:

    • Want to generate dynamic web UI.
    • Prefer a page-focused approach.
    • Want to reduce duplication with partial views.

    cyber security

    Razor Pages simplifies ASP.NET Core page organization by keeping related pages and their logic together in their own namespace and directory.

    data analytics

     Note

    ASP.NET Core also supports the Model-View-Controller (MVC) pattern for building web apps. Use MVC when you prefer a clear separation between Model, View, and Controller. Both Razor Pages and MVC can coexist within the same app. MVC is outside the scope of this module.

    In the next unit, you’ll take a tour of a Razor Pages app.

    digital transformation

  • Posting a Goods Receipt Without Reference

    Other Goods Receipt

    If you enter a goods receipt without reference to another document, it is known as an other goods receipt. Such goods receipts belong to unplanned goods movements because no information on the material, quantity, delivery date, receiving plant, or origin is stored in the system prior to the actual posting.

    red hat linux certification malaysia

    Other goods receipts are depicted using various movement types. This is done for the following reasons:

    • The movement type controls quantity and value updating.
    • The movement type can influence the account determination for the offsetting entry to the stock posting.
    • The movement type influences field selection.
    • The movement type influences message determination.

    red hat linux administration training courses malaysia

    Initial Entry of Stock Balances

    You must carry out an initial entry of stock balances when implementing the SAP system in order to transfer physical warehouse stocks or book inventories from an existing system into the SAP system as book inventories. No physical material movement occurs during this process. The initial entry of stock balances can be carried out for the following three stock types:

    • Unrestricted-use stock (movement type 561)
    • Stock in quality inspection (movement type 563)
    • Blocked stock (movement type 565)

    The quantity recorded is posted to the selected stock type and increases the total valuated stock of the material.

    red hat enterprise linux rhel training courses malaysia

    The movement types can also be used together with all special stock indicators. This means that the initial entry of stock balances can be done for consignment stock with vendors and customers, for example, or the project and sales order stock.

    red hat certified specialist in server hardening malaysia

    The valuation of the stocks to be recorded depends on the following factors:

    • The data in the material master record (valuation class, price control, and current valuation price)
    • Whether you enter a value for the quantity to be recorded in the initial entry of stock balances (External Amount in Local Currency field in the item details on the Quantity tab page)

    If no external amount is specified in local currency in the initial entry of stock balances, the quantity to be recorded is valuated based on the valuation price from the material master record (that is, at the moving average price (MAP) or standard price).

    red hat certified specialist in linux performance tuning malaysia

    If an external amount is entered,  the quantity to be recorded is valuated at this amount. In this case, if the material involved is valuated at moving average price, the latter is then adjusted accordingly.

    veeam certification malaysia

    The offsetting posting to the stock posting is made to a special account for the initial entry of stock balances.

    red hat certification malaysia

    Goods Receipt Without a Purchase Order or a Production Order

    If you receive an external receipt of goods without having previously created a corresponding purchase order in the SAP system, you must enter it as an other goods receipt. The same scenario also applies to an internal receipt from production for which no production order has been previously created. The lack of preceding documents for external or internal procurement may be because the relevant application area has not been implemented.

    oracle certification malaysia

    For these goods receipts, you can also decide in which of the following stock type the goods receipt takes place:

    • Unrestricted-use stock (without purchase order: movement type 501, without production order: movement type 521)
    • Stock in quality inspection (without purchase order: movement type 503, without production order: movement type 523)
    • Blocked stock (without purchase order: movement type 505, without production order: movement type 525)

    nutanix certification malaysia

    Free-of-Charge Delivery

    If you receive a free-of-charge delivery from a vendor without a previously issued purchase order, you post the delivery as an Other Goods Receipt. The standard movement type for the free-of-charge delivery is 511. The Vendor and Text fields are required fields for this movement type.

    microsoft certification malaysia

    For the valuation of materials delivered free of charge, note which price controls is defined in the material master record:

    • If the material is valuated at moving average price, the stock figure is updated on a quantity basis only and not on a value basis. Therefore, the total stock quantity increases but the total value of the stock remains unchanged, resulting in a reduction in the moving average price.
    • If the material is valuated at the standard price, the stock figure is updated on a quantity and a value bases. The receipt is valuated based on the standard price. The offsetting posting to the stock account is made to a revenue account for price differences.

    juniper certification malaysia

    Functions for Entering Other Goods Receipts

    Various functions in SAP S/4HANA are available to you for entering other GRs.

    • SAP Fiori app Post Goods Movements respectively transaction MIGO
    • SAP Fiori app Manage Stock (Initial entry of stock balances only)
    • SAP Fiori app Post Goods Receipt without Reference (without purchase order only)

    istqb certification malaysia

    SAP Fiori App Post Goods Movement and Transaction MIGO

    You can enter all Other GRs using the Post Goods Movement app or the MIGO transaction. To do this, proceed as follows:

    1. Start the Post Goods Movement app (or the MIGO transaction).
    2. Choose Goods Receipt as transaction and Other as reference.
    3. Check the default value for the movement type and change it if necessary to the correct MvT. Confirm the change of the default value with enter.
    4. Enter material number, quantity, storage location, and plant for the items to be entered.
    5. Post the document.

    database training courses malaysia

    SAP Fiori App Manage Stock

    The Manage Stock app can be used to enter an initial entry of stock balances for Standard Stock and for the special stock types Project Stock (Q) and Supplier Consignment (K).

    kubernetes containarization training courses malaysia

    In addition, it is possible to first collect several initial entries of stock balances to be posted in an item list, for example, for one material, initial entries of stock balances in the different stock types, or initial entries of stock balances for different materials. Once all items are collected, the goods movements can be posted in one step. The result is a material document with all posted items.

    cloud computing training courses malaysia

    SAP Fiori App Post Goods Receipt without Reference

    To post a goods receipt without purchase order (movement types 501, 503, 505) you can use the Post Goods Receipt without Reference app. The app is part of the Business Role Warehouse Clerk (SAP_BR_WAREHOUSE_CLERK).

    ai artificial intelligence training courses malaysia

    Similar to the MIGO transaction, you have to enter the material, quantity, plant, storage location, and stock type manually. However, the entry of the movement type is not explicitly required. The movement type is determined by the app and the choice of stock type. In the app, the special stocks Orders on Hand (E), Supplier Consignment (K) and Project Stock (Q) are allowed.

    lean it certification training courses malaysia

  • Summary

    In this module, you set up your development environment to create and build Blazor web apps. You then:

    • Created and ran a new Blazor web app.
    • Reused a Razor component.
    • Added a parameter to a component.

    Congratulations on building your first Blazor web app!

    Learn more

    • Blazor homepage
    • Blazor docs
    • ASP.NET Core Blazor project structure

    ccnp certification training courses malaysia

  • Summary

    In this module, you created an ASP.NET Core web API running on .NET. The web API creates, reads, updates, and deletes pizzas from an in-memory cache.

    red hat linux administration training courses malaysia

    You learned that creating a web API with ASP.NET Core entails:

    1. Creating a new application by using the ASP.NET Core Web API template.
    2. Creating classes that inherit from the ControllerBase class and that contain methods that respond to HTTP requests.

    Because this pattern allows you to focus on a single controller action at a time, you can create functional web APIs fairly quickly with a little practice.

    red hat enterprise linux rhel training courses malaysia

    In this module, you used an in-memory cache. This approach helped you to focus on learning web API concepts, but it has some obvious limitations for real-world applications. If the application stops, all your changes are lost!

    red hat certified specialist in server hardening malaysia

    Videos for learning more

    • .NET for Beginners
    • C# for Beginners
    • All .NET Beginner Videos

    Articles for learning more

    • Tutorial: Create a web API with ASP.NET Core
    • Create web APIs with ASP.NET Core
    • Controller action return types in ASP.NET Core web API

    red hat certified specialist in linux performance tuning malaysia

  • Exercise – Create a web API project

    This module uses the .NET 8.0 SDK. Ensure that you have .NET 8.0 installed by running the following command in your preferred command terminal:

    .NET CLI

    dotnet --list-sdks
    

    Output similar to the following example appears:

    Console

    6.0.317 [C:\Program Files\dotnet\sdk]
    7.0.401 [C:\Program Files\dotnet\sdk]
    8.0.100 [C:\Program Files\dotnet\sdk]
    

    Ensure that a version that starts with 8 is listed. If none is listed or the command isn’t found, install the most recent .NET 8.0 SDK.

    dynamics 365 sales training courses malaysia

    Create and explore a web API project

    To set up a .NET project to work with the web API, we use Visual Studio Code. Visual Studio Code includes an integrated terminal that makes creating a new project easy. If you don’t want to use a code editor, you can run the commands in this module in a terminal.

    1. In Visual Studio Code, select File > Open Folder.
    2. Create a new folder named ContosoPizza in the location of your choice, and then choose Select Folder.
    3. Open the integrated terminal from Visual Studio Code by selecting View > Terminal from the main menu.
    4. In the terminal window, copy and paste the following command:.NET CLIdotnet new webapi -controllers -f net8.0 This command creates the files for a basic web API project that uses controllers, along with a C# project file named ContosoPizza.csproj that returns a list of weather forecasts. If you get an error, ensure that you have the .NET 8 SDK installed. ImportantWeb API projects are secured with https by default. If you have problems, configure the ASP.NET Core HTTPS development certificate.You might receive a prompt from Visual Studio Code to add assets to debug the project. Select Yes in the dialog.The command uses an ASP.NET Core project template aliased as webapi to scaffold a C#-based web API project. A ContosoPizza directory is created. This directory contains an ASP.NET Core project running on .NET. The project name matches the ContosoPizza directory name.You should now have access to these files and directories:Bash-| Controllers -| obj -| Properties -| appsettings.Development.json -| appsettings.json -| ContosoPizza.csproj -| ContosoPizza.http -| Program.cs -| WeatherForecast.cs
    5. Examine the following files and directories:NameDescriptionControllers/Contains classes with public methods exposed as HTTP endpoints.Program.csConfigures services and the app’s HTTP request pipeline, and contains the app’s managed entry point.ContosoPizza.csprojContains configuration metadata for the project.ContosoPizza.httpContains configuration to test REST APIs directly from Visual Studio Code.

    dynamics 365 finance training courses malaysia

    Build and test the web API

    1. Run the following .NET Core CLI command in the command shell:.NET CLIdotnet run The preceding command:
      • Locates the project file at the current directory.
      • Retrieves and installs any required project dependencies for this project.
      • Compiles the project code.
      • Hosts the web API with the ASP.NET Core Kestrel web server at both an HTTP and HTTPS endpoint.
      A port from 5000 to 5300 is selected for HTTP, and from 7000 to 7300 for HTTPS, when the project is created. You can easily change the ports that you use during development by editing the project’s launchSettings.json file. This module uses the secure localhost URL that begins with https.You should get output similar to the following, indicating that your app is running:ConsoleBuilding... info: Microsoft.Hosting.Lifetime[14] Now listening on: https://localhost:7294 info: Microsoft.Hosting.Lifetime[14] Now listening on: http://localhost:5118 info: Microsoft.Hosting.Lifetime[0] Application started. Press Ctrl+C to shut down. info: Microsoft.Hosting.Lifetime[0] Hosting environment: Development If you’re running this app on your own machine, you could direct a browser to the HTTPS link displayed in the output (in the preceding case, https://localhost:7294) to view the resulting page. Remember this port, because you use it throughout the module where {PORT} is used. ImportantCheck the terminal output if you encounter any unexpected behavior. If the build fails or other errors occur, the log file’s information helps you troubleshoot. As you make changes to the code, you’ll need to stop the web API by selecting CTRL+C on the keyboard and rerunning the dotnet run command.
    2. Open a web browser and go to:Bashhttps://localhost:{PORT}/weatherforecast You should see JSON output similar to this example:JSON[ { "date": "2021-11-09T20:36:01.4678814+00:00", "temperatureC": 33, "temperatureF": 91, "summary": "Scorching" }, { "date": "2021-11-09T20:36:01.4682337+00:00", "temperatureC": -8, "temperatureF": 18, "summary": "Cool" }, // ... ]

    dynamics 365 field service training courses malaysia

    Optional: Explore with .http files

    Included in the project is ContosoPizza.http, a file that is used to test API endpoints through a standard format. .http files are supported in several Integrated development environments (IDEs) including Visual Studio and inside of Visual Studio Code with the REST Client extension installed.

    1. Open the ContosoPizza.http file.In some IDEs, this file is preconfigured with the @ContosoPizza_HostAddress variables and a GET command calling /weatherforecast/ that accepts application/json.
    2. If it’s present in your file, select the Sent Request command above the GET which sends a request to the running service.Calling this command opens a response window with output similar to what we saw in the browser:OutputHTTP/1.1 200 OK Connection: close Content-Type: application/json; charset=utf-8 Date: Wed, 17 Jan 2024 16:46:40 GMT Server: Kestrel Transfer-Encoding: chunked [ { "date": "2024-01-18", "temperatureC": -2, "temperatureF": 29, "summary": "Warm" }, { "date": "2024-01-19", "temperatureC": 24, "temperatureF": 75, "summary": "Chilly" }, // .. ]

    dynamics 365 customer service training courses malaysia

    Optional: Explore APIs with Command Line HTTP REPL

    1. Open a new integrated terminal from Visual Studio Code by selecting Terminal > New Terminal from the main menu, then run the following command:.NET CLIdotnet tool install -g Microsoft.dotnet-httprepl The preceding command installs the .NET HTTP Read-Eval-Print Loop (REPL) command-line tool that you use to make HTTP requests to the web API.
    2. Connect to the web API by running the following command:.NET CLIhttprepl https://localhost:{PORT} Alternatively, run the following command at any time while HttpRepl is running:.NET CLIconnect https://localhost:{PORT}  TipIf the HttpRepl tool warns Unable to find an OpenAPI description, the most likely cause is an untrusted development certificate. HttpRepl requires a trusted connection. Before you can continue, you must configure your system to trust the dev certificate with dotnet dev-certs https --trust
    3. Explore available endpoints by running the following command:.NET CLIls The preceding command detects all APIs available on the connected endpoint and lists them, as in the following output:Outputhttps://localhost:{PORT}/> ls . [] WeatherForecast [GET]
    4. Go to the WeatherForecast endpoint by running the following command:.NET CLIcd WeatherForecast The preceding command shows an output of available APIs for the WeatherForecast endpoint:Outputhttps://localhost:{PORT}/> cd WeatherForecast /WeatherForecast [GET]
    5. Make a GET request in HttpRepl by using the following command:.NET CLIget The preceding command makes a GET request similar to going to the endpoint in the browser:OutputHTTP/1.1 200 OK Content-Type: application/json; charset=utf-8 Date: Fri, 02 Apr 2021 17:31:43 GMT Server: Kestrel Transfer-Encoding: chunked [ { "date": 4/3/2021 10:31:44 AM, "temperatureC": 13, "temperatureF": 55, "summary": "Sweltering" }, { "date": 4/4/2021 10:31:44 AM, "temperatureC": -13, "temperatureF": 9, "summary": "Warm" }, // .. ]
    6. End the current HttpRepl session by using the following command:.NET CLIexit
    7. Return to the dotnet terminal in the drop-down list in Visual Studio Code. Shut down the web API by selecting CTRL+C on your keyboard.

    Now that you created the web API, we can modify it to meet the needs of the pizza web API.

    devops certification training courses malaysia

  • Use tools in Copilot Studio – Online workshop

    In this module, you extend your agent’s capabilities in Microsoft Copilot Studio by giving it access to tools, learn the difference between the different tools, build a custom prompt, and execute an order cancellation using an agent flow.

    Learning objectives

    This module explains how to:

    • Understand the difference between the tools available in Copilot Studio.
    • Add prebuilt tools using connectors to perform real-time tasks.
    • Build and test a custom agent flow that initiates an order cancellation.
    • Control how tools are utilized.
    • Link multiple elements like topics and actions into seamless conversational experiences.

    web development

  • Make your agent autonomous in Copilot Studio – Online workshop

    In this module, you extend your agent’s capabilities in Microsoft Copilot Studio by giving it access to autonomous triggers, customize the agent’s triggers to perform conditionally when specific conditions are met, learn how to test and validate your trigger’s behavior, monitor the agent’s activity, and publish changes to the agent.

    Learning objectives

    This module explains how to:

    • Understand the purpose and structure of autonomous triggers.
    • Create a trigger that activates when a new email is received in a monitored Outlook inbox.
    • Test and validate your trigger with real-world data.

    testing

  • Build a conversational agent in Copilot Studio – Online workshop

    In this module, you build a conversational agent in Microsoft Copilot Studio, starting with the importing an agent solution, building an agent using natural language, and preparing the agent with knowledge sources to ground its answers in real-world data.

    Learning objectives

    This module explains how to:

    • Import a Dataverse solution.
    • Build an agent in Copilot Studio using natural language input and configure advanced behavior settings.
    • Navigate Copilot Studio’s interface, including key sections in the Overview page like, Topics, Knowledge, and Tools.
    • Control the agent’s pretrained data by modifying its knowledge sources.
    • Add internal and external data as agent knowledge sources.

    supply chain

  • Build agents in Copilot Chat – Online workshop

    Microsoft 365 Copilot Chat makes it easy to build declarative agents that enhance productivity across your organization. In this module, you’ll explore the fundamentals of agent creation using Microsoft 365 Copilot Chat with templates and starting from scratch for a customer service declarative agent.

    Learning objectives

    In this module, you begin building agents in Microsoft 365 Copilot Chat, starting with a template agent, and ending with a custom agent built for customer service scenarios.

    staff augmentation service