Attached is an example of stock aging in SAP. In this example I have used the MSEG (Document Segment) and MKPF (Material Document Header) tables to id...
Attached is an example of stock aging in SAP. In this example I have used the MSEG (Document Segment) and MKPF (Material Document Header) tables to identify both the current stock position and the purchases (the In movements of stock). The final stock value can then be distributed across the most recent stock in movement records to assign a date as to when this stock was received (based on a FIFO - first in first out methodology). The MKPF table is required as there was an incomplete set of records in the BUDAT (stock-in date) field in the MSEG table in this implementation (this may be different at other sites).
The basic process is as follows:
identify the purchase instances (headers) from the MKPF table. This is required to get the stock-in date for each purchase instance (BUDAT).
Join in the purchase records (where SHKZG = 'S' to identify in movements of stock) and the unit cost of these movements by material (MATNR) and location (LGORT). The MSEG and MKPF tables join based on the MANDT, MBLNR and MJAHR fields. I have chosen to right join the MSEG table as I only require the purchase records (i.e. SHKZG = 'S').
Calculate the latest final stock values for each Material (MATNR) and Location (LGORT) and add this against each purchase line. This does repeat the final stock value across many lines but that is used in the next step.
Calculate the distribution of the current stock over the most recent preceding purchases. I have also calculated the cost of the stock based on the unit value of the final stock as calculated in step 3.
As this involves a bit of logic to look at preceeding values etc I have attached an example which shows the 4 steps in the coding that you can copy and reuse. The example is based on the QVDs as they would be generated using the SAP Connector script generator** so if you have used this it should be an easy reload of this data.
**Note: the MATNR field is renamed to make it a key in MSEG as [%MATNR_KEY].
Any clarifications or improvements please feel free to add in comments below.
I have SAP-BW as data-warehouse and QV for reporting.After a couple of months spending too much time on trying to manage all the data loads in one pla...
I have SAP-BW as data-warehouse and QV for reporting.
After a couple of months spending too much time on trying to manage all the data loads in one place I came up with a full integration solution for data loads between BW and Publisher.
The purpose of this article is to explain how to create a reliable synchronous interface between SAP-BW and Publisher by fully integrating Process Chainswith Publisher Tasksusing RFC connectivity and EDX calls. By doing so, BI teams can harness the power and stability of the BW Process Chains and utilize it with the QlikView Publisher.
This paper addresses SAP-BW and QlikView developers/administrators and requires basic understanding of both.
IntroductionSalesForce.com provides a cloud based solution for CRM and other systems. QlikView provides a connector to be able to extract data entered...
SalesForce.com provides a cloud based solution for CRM and other systems. QlikView provides a connector to be able to extract data entered into Salesforce.com for analysis and discovery. This document reveals how you can embed QlikView into Salesforce.com both visually and to provide seamless login between the two systems.
In Salesforce.com you typically log in with an account created in that system and is normally an e-mail address, although other login systems are available. After you have logged in then a number of tabs are shown that provide the functionality you typically use. A SalesForce Administrator can create a new tab, and embed a URL for a QlikView document or AccessPoint as a Frame within that tab. The identity that the user entered when logging into SalesForce can be passed to QlikView without needing to prompt the user for further credentials. In addition to providing seamless login this also enables fine grained permissions to be used in QlikView based on the security rules created in Salesforce.com e.g. Fred can only see UK customers.
Saleforce.com developer access - a free developer account can be used to test the below
Although a fully working step by step example is provided below some understanding of the technologies involved is required. These are:
SalesForce.com provides an API for integrating with its sign in mechanism. When you login a session identifier is created for the user and this can be passed over as a string of text into another application. The second application (.net and QlikView in this case) can grab this ID and then make a call to SalesForce to check that it is valid and what the users actual name is.
Once obtained this user name can be passed through into QlikView. In this example the Web Ticket method will be used, other methods could be used also. To achieve this a landing page will be written in asp.net this page will grab the session ID supplied by SalesForce, extract the user name from it then pass it through to QlikView before redirecting the user to the QlikView content. The content itself will appear inside a frame within the SalesForce screen and the user will not see any of this activity occurring. The below diagram explains the flow:
Salesforce.com Set up
The configuration of Salesforce.com is fairly basic, simply adding a new tab to the navigation bar at the top of the screen. If you dont want to do this in production right away then a free developer account can be created to use a sandbox area, this is described below.
On the left Under App Setup click Create and then Tabs
Click New Web Tab
Select a Suitable layout
Provide a lable for the tab and chose a style
Next we will provide the URL of the QlikView server to embed into SFDC, it will be a URL for a new page which is added to the QV server in the steps below and it will have a few of the API items added on to the end.
The finished URL should look something like the below
Replace "YourQVServerAddress" with the address of the QlikView server you are working with.
Replace "Sales Compass.qvw" with the document you wish to use, or alternatively you can remove it to open the QlikView Access Point
Click next on the following two screens accepting the defaults to save the new tab
The Configuration of Saleforce.com is now complete, but it wont work until QlikView has been prepared.
QlikView Set up
The remaining steps are applied to the QlikView server and split between steps in the QlikView Management console and implementation of sample code that uses web ticket, this is added to IIS. The steps below describe one method to achieve the integration, there are other alternatives available too. The code supplied as an example is intentionally simplistic and covers only the basics of the implementation rather than being fully productionised code.
QlikView Management Console Settings
Open the QMC
Go to the System Tab and select your QlikView server on the left hand side
On the right hand side select the Security tab and select the "DMS" option for authorisation. As users will not sign in with windows accounts the DMS mode option is required and permissions must be set through QlikView.
Next select the the web server in your deployment and go to the Authentication tab
Under Login Address select "Alternate Login" this is to prevent the QV webserver asking for windows credentials. If you are using IIS for the web server then this is not required and you would modify settings in IIS
Finally as the server is now running in DMS mode there will be no permissions to read any of the documents so permissions need to be applied. Go to the Documents and User Documents tab and select the document you want to use.
On the right hand side click on the Authorisation tab and apply permissions - you can specify particular users or say "all authenticated"
The QlikView Server is now configured
Deploying the code example
There are two zip files attached to the document but only one of them is required to deploy the example. The other file contains some source code for working with the SalesForce.com security API which you only need to use if you want to integrate the simple example into a bigger code project.
Open the SFDCLogin.zip file attached to this document
The files need to be deployed into IIS by default this means copying the files to c:\inetpub\wwwroot. There are two files in the zip - SFDClogin.aspx needs to be copied to the root of the folder and SFDC-SSO.dll needs to be in a sub folder called Bin. If the paths in IIS are changed then the URL used in the SalesForce.com configuration above needs to match.
The dll file contains the functions used to call the Salesforce api - the source for this DLL can be found in the SFDC-SSO-Source.zip, there is no need to user this zip or edit it unless you need to build a more complex example, it is supplied for information only.
Edit SFDClogin.aspx in notepad, you can review the code to see the steps its goes through
The example makes use of webtickets in QlikView, to request a ticket the code must make the request as a member of the QlikView Administrators group, this example hard codes a user ID and password into the file (other methods can be used), this user id and password needs to be replaced with a QlikView Administrator for your QlikView deployment.
Locate the values QVAdminUser = "qservice"; and QVAdminPassword = "Ql1ktech"; and update accordingly
Try it out
Now SalesForce.com and QlikView are configured and the code to integrate them is deployed so it is now ready to test. Return to SalesForce.com and click the QlikView tab you created. The QlikView tab will now load the specified QlikView document into the frame within Salesforce.
Note: The example code provided here is intentionally simplified so that is it easy to understand the concepts used to integrate SFDC and QlikView. For production use the code should be enhanced to suit any business needs, handle errors and further secure the code such as validating the URLs being passed into and out of the page are trusted.
New - Version 5.1.23 (posted 9/25/2014)***added workaround for "UserAgent" bug where condition is not met but QV reads the Else field anyways***Edited...
New - Version 5.1.23 (posted 9/25/2014)
***added workaround for "UserAgent" bug where condition is not met but QV reads the Else field anyways
***Edited expressions for TotalMaxCalsInUse charts to reflect max of cluster, not sum of nodes
***Corrected QDS variable typo in script
This app was created by Michael Terenzi of QlikView Support, and has a number of new
Includes Salesforce Connector and SAP Connector logging integration
Includes Offline Client logging integration
Includes Windows OS Event Application/System/Security logging integration (see instructions)
Specify how many days’ worth of logs you want to retrieve (default is 30 days)
Hyperlinks added to data tables so you can quickly link an error message to either Salesforce Help (SF Connector messages), EventID.net (Windows logs include event and source automagically in URL), and QlikCommunity for all others. Now if you get “Invalid Query Locator” error from the Salesforce logs, you get sent to the right place to find out why.
Added capability for DD/MM/YYYY webserver logs to be picked up for those of you with different time formatting (see instructions)
Optimization – CPU, Table structure
New UI (simpler, easier interface)
Supports up to 10 QVS nodes
Supports up to 2 QDS instances (will read as a "node" but is really an entire resource)
Shared file corruption detection (only on builds 11440+ ....please contact Support if you encounter the alert)
Analyze concurrency trends over the hour or the minute, even with Performance logging turned off!
Includes Deployment Framework integration (by Magnus Berg)
Includes Scalability Center Environmental Analytics (see attachments and please email them your results!)
Only includes support for QV 11
Removed HTTP ERROR, QMS Audit logging due to time constraints
Verify your logs are in the default locations and adjust as needed in the Setup tab
Save and reload!
For custom/enterprise environments, Clear Defaults (button) in Setup tab and enter Required Components
Must be running on QV 11 and must have QVS Event logs to run bare bones
Archive your logs and stow them away if not necessary for your analysis. Webserver/IIS logs have the potential to greatly increase table sizes, so limit your source data if possible to optimize performance
When navigating to the Troubleshooting tab you will need at least 2 gb RAM on your machine with the sample data (sorry )
Over time you are looking at potentially millions and millions of records. Don't be a hoarder!
QV10 is not supported, especially on the Publisher side. Feel free to try your luck if necessary.
Este documento está basado el post Development Checklist. La intención es que sirva para desarrolladores de habla hispana, pero esta vez, el documento...
Este documento está basado el post Development Checklist. La intención es que sirva para desarrolladores de habla hispana, pero esta vez, el documento debería acompañar la documentación del proyecto en vez de ser una mera herramienta de verificación manual del desarrollo, según la versión original.