FS - AkwireForSAP V4
FS - AkwireForSAP V4
Configuration
To Read and Update Work Orders Release Date: 28/09/2017
Description:
Jagadees Kumar
Authored By: Srinivasan N Reviewed By:
Arumugam
Revision History
Revision Revision Revision Author Brief Description of Changes
Number Date
1.0 Srinivasan N Initial draft
2.0 04/10/2017 Jagadees Arumugam Include Dynamic Query options
3.0 02/27/2018 Srinivasan N SAP PM DATA Model Mapping
Page 1 of 23
Functional Specification Document
Section I: Justification
Area: SAP SAP Log#: Creation Date: 09/28/2017
N/A
Security Requirements
N/A
Test Plan
Page 2 of 23
Functional Specification Document
Business Case: Business requirement is to make the AKWIRE Visual Suite (a Windows .Net
application created by Solufy) compatible with SAP using GlobalSoft’s eSyConnector for SAP.
AKWIRE’s vScheduler module allows the user to schedule Maintenance Work Orders (WO) and assign
them to the desired resource(s), to forecast Preventive Maintenance (PM) and create the corresponding
PM WOs, and to publish these changes to the back end SAP system, all from the same UI.
.
The goal is to also make the other modules of the AKWIRE Visual Suite compatible with SAP;
- vCalendar; to maintain resource availability and update relevant resource information
- vTimesheet; to enter labor transactions
- vJobPlan; to modify relevant Job Plan information and create new job plans.
Every module of AKWIRE requires the ability to run configurable and dynamic SELECT SQL
statements against the SAP database, as well as loading custom client-defined fields from the relevant
tables.
Functional Logic:
vScheduler Module
1. The list of WOs, PMs and/or Resources to be loaded into the schedule is specified in their associated
Data Selection tabs, which allows the user to specify
a. Which template query to use ( a dynamic and configurable SELECT statement)
b. Which fields to load (as part of the SELECT statement)
c. Which filter/criteria to use
d. Once the schedule is created, the user rarely needs to go into that Data Selection tab and
normally go straight to the Gantt.
Page 3 of 23
Functional Specification Document
Page 4 of 23
Functional Specification Document
SAP MAPPING
A custom table is created in SAP to maintain the list of work orders to be fetched to Akwire
The list of work orders will be fetched from SAP based on the below input criteria.
Based on this selection query and configuration input Service API will render work order records to the Akwire
Front end.
New status profile is created as below and assigned to the work order types PM01, PM02,PM03,PM04 and Notification type
M1.
Page 5 of 23
Functional Specification Document
Akwire to display the Status code and Long text for user selection and pass only the status code via API to SAP for
fetching the orders.
Output:
1 2 3 4 5 7
6 8 9
Page 6 of 23
Functional Specification Document
Page 7 of 23
Functional Specification Document
1 2
Page 8 of 23
Functional Specification Document
SAP MAPPING
Creation & Displaying the Operations List
The order holds the list of operations to be performed for the either functional location or equipment level
to carry out the service process.The new operations will be created from askwire using Function modules specified
below against the work order. User can assign the technician to the operations. This technician list is based on the
work center and employee mapping. The work center here represent the CREW in Akwire.Each crew members will
have qualifications and proficiency level for performing the certain operations in the work order.
● Use BAPI_ALM_ORDER_MAINTAIN for creation of new operations from Akwire against the work order.
2 3 4 5 6 7 8
1
Page 9 of 23
Functional Specification Document
Page 10 of 23
Functional Specification Document
ID ) 2- Read the Object ID from PLKO table and pass the values to CRHD table to populate the work centre
name w.r.t. plant combination from the field ARBPL.
6
1 3
2
Page 11 of 23
Functional Specification Document
datediff("d",w.reportdate,getdate()) as WOAgeDays
From (
select WT.*, L.DESCRIPTION AS LOCDESC From workorder WT LEFT JOIN LOCATIONS L ON WT.LOCATION
= L.LOCATION AND WT.SITEID = L.SITEID
where exists
(
Select * From WOAncestor A
Where Exists
(Select * From WorkOrder W Where W.Wonum = A.Ancestor AND
?@SchedStartDate <= ?@SchedEndDate
AND W.WONum = A.WONum
&Filter& AND (( (W.status IN ('INPRG','WSCH','APPR','WAPPR')) AND (W.siteid ='&SiteID&') ) )
/*EndFilter*/
) And A.Ancestor = WT.WONum -- A.WONum = WT.WONum AND WT.SITEID = A.SiteID
)
) W
Select L.LaborID, L.LaborCode, P.DisplayName, Craft, SkillLevel, CrewID, WorkLocation, &SelectFields& PC.ShiftNum,
PC.CalNum
FROM LABOR L, Person P, LaborCraftRate C, PersonCal PC
WHERE L.OrgID = '&OrgID&' AND L.PersonID = P.PersonID and L.LaborCode = C.LaborCode and P.Personid = PC.PersonID
&Filter& AND Craft = ‘ELECT’ /*EndFilter*/
When the existing technician is re-assigned with new technician system will update the respective operations and the existing
notification with changed technician and change the status to Re-Assign.
Page 12 of 23
Functional Specification Document
vCalendar Module
1. The user performs all of his work in the main screen;
a. He starts by selecting the data source he wants to work with, which runs a preconfigured
(and dynamic) query to load the list of Labor records.
b. Specify calendar excceptions at the Labor level in the timeline (right) section.
i. For ex, vacation, training, over time, etc.
c. Based on his user rights, the user can also modify some data related to the Labor record
Page 13 of 23
Functional Specification Document
Page 14 of 23
Functional Specification Document
Data
FieldName Character Decimal Description
Type
Page 15 of 23
Functional Specification Document
Planned
PA0007 Working
Hours
Data
FieldName Character Decimal Description
Type
Page 16 of 23
Functional Specification Document
Employee Time
ZTERF NUMC 1 0
Management Status
Indicator Part-Time
TEILK CHAR 1 0
Employee
Page 17 of 23
Functional Specification Document
Absence
PA2006
Quotas
Data
FieldName Character Decimal Description
Type
Page 18 of 23
Functional Specification Document
Attendences
PA2007
Quotas
Data
FieldName Character Decimal Description
Type
Page 19 of 23
Functional Specification Document
PA2003 Substitutions
Data
FieldName Character Decimal Description
Type
Akwire Foundation
Akwire is very configurable and because of this is heavily relies on SQL queries to load its configuration
data as well as data presented to the user through its UI. This data can come from both the Akwire tables
or the SAP tables. At initialization time, when Akwire starts and when a module is being loaded,
Akwire can runs multiple queries (50? 100? More?) to load the required data; some of these queries are
Page 20 of 23
Functional Specification Document
hard coded while quite a few a configurable and/or created at runtime (dynamic) based on the current
user and other parameters. Therefore, it is very important that Akwire can run dynamic SQL statements
against the SAP database via the eSyConnector.
Page 21 of 23
Functional Specification Document
NOTATION:ZML:VERSION:0:DELIMITER:[.]
EVENT[.]PLANT-MAINTN-GET-CALENDER[.]VERSION[.]0[.]RESPONSE-TYPE[.]FULL-SETS
.NET CODE
*The Example HttpWebRefClass library will send request to SAP webservice and return response as a datatable
NOTATION:ZML:VERSION:0:DELIMITER:[.]
EVENT[.]PLANT-MAINTN-GET-PERSONCAL[.]VERSION[.]0[.]RESPONSE-TYPE[.]FULL-SETS
ZSFYPM_TT_PERSONID[.]1812
.NET CODE
odataTable = objHttpWebRefClass.HttpWebRequest_GSS_SAP([WebserviceURL],"PLANT-MAINTN-GET-
PERSONCAL", mInputStr);
Page 22 of 23
Functional Specification Document
Quality Representative
Page 23 of 23