0% found this document useful (0 votes)
95 views23 pages

FS - AkwireForSAP V4

The document describes requirements for updating work orders from an AKWIRE Visual Suite application to an SAP system. It details the business need, functional logic for work order scheduling and updating modules in AKWIRE, and mappings between AKWIRE and SAP tables and fields for work orders, operations, locations, and other relevant data.

Uploaded by

Srini Vasan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
95 views23 pages

FS - AkwireForSAP V4

The document describes requirements for updating work orders from an AKWIRE Visual Suite application to an SAP system. It details the business need, functional logic for work order scheduling and updating modules in AKWIRE, and mappings between AKWIRE and SAP tables and fields for work orders, operations, locations, and other relevant data.

Uploaded by

Srini Vasan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 23

Functional Specification Document

Document Title Maintain Work Order UI Document Rev. 1.0

Configuration
To Read and Update Work Orders Release Date: 28/09/2017
Description:

Module/Scope ID: SOLUFY/SAP01 Version: 1.0

Jagadees Kumar
Authored By: Srinivasan N Reviewed By:
Arumugam

Author Title: Lead Consultant Reviewer Title: Competency Lead


Author Signature: Reviewer Signature:

Date: 28/09/2017 Date: 28/09/2017

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

Business Required Date:

Requested by: Mario Boileau Extension:

Title: List and update Work Orders

Short description: Work Order Update

Program Type: ( ) Conversion ( X ) Interface ( ) Report

( ) Form ( ) Enhancement (User Exit) ( ) Configuration ( ) Others

Priority ( ) high/mandatory ( X ) medium/recommended ( ) low/optional

Scheduling Requirement/On-line Requirements

N/A

Security Requirements

N/A

Test Plan

Page 2 of 23
Functional Specification Document

Section II: Modification Log


Date: Name: Description:

Section III: Detailed Functional Description

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

Work Order Search

A custom table is created in SAP to maintain the list of work orders to be fetched to Akwire

Order Type Order Description

PM01 Maintenance Order

PM02 Regular Maintenance Order

PM03 Preventive Maintenance Order

PM04 Refurbishment Order

The list of work orders will be fetched from SAP based on the below input criteria.

Configuration Input: Last 30 Days or 15 Days or 7 Days and User status.

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.

Status Profile : ZSRVPRF3- Service Profile

Status Code Short Text Long Text

E0001 INIT Open (Created)

E0002 RELE Released

E0003 INPR In Process

E0004 INTM Reassign

E0005 CLSD Completed

Output:

1 2 3 4 5 7
6 8 9

SL Table Field Name Field Description Field Type Field Length


no Name

1 AUFK AUART Order Type CHAR 4

2 AUFK AUFNR Order CHAR 12

3 JEST STAT Order status

Pass the STAT (Active)


toTJ20T and Populate the
TXT04

Page 6 of 23
Functional Specification Document

4 AFIH ILOAN Location and account CHAR 12


assignment for
Pass this to ILOA table technical object
for Functional Location

5 AFIH EQUNR Equipment Number CHAR 18

6 EQUI_AD NAME1, CITY1 Location CHAR 10


DR

7 AFIH GEWRK Object ID of the NUMC 8


Work Center

8 AFKO GSTRS & GSUZS Scheduled start DATS 8

9 AFKO GLTRS & GLUZS Scheduled finish DATS 8

Page 7 of 23
Functional Specification Document

1 2

2. The user performs most of his work in the Gantt tab


a. Reschedule WOs (or PMs) to new dates

Page 8 of 23
Functional Specification Document

b. Assign resources (Labor or Crews) to WOs


c. Add/Delete assignments to/from a WO (to create/delete assignmet records)
d. Modify the duration and/or craft of an Assignment
e. Modify WO/PM data from the Gantt columns (ie description, worktype, etc)
f. Create/Modify a WO’s Planned Labor
g. Change a WO’s status
h. Publish his changes back to the source system (SAP) via its API
i. Changes are made 1 WO/PM at a time, in real time, to SAP, opposed to queued batch mode
j. Once all changes are published, Akwire displays a status window for ALL changes and in
some cases, reloads the entire schedule from SAP which will have those changes persisted

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

SL Table Field Name Field Description Field Type Field Length


Name

Page 10 of 23
Functional Specification Document

1 PLPO LTXA1 Operation short CHAR 40


text

2 PLKO ARBID- pass this to CRHD Object ID NUMC 8


to get Work center

3 PLPO ARBEI-ARBEH Work involved in QUAN- UNIT 7-3


the activity- Unit
for work

4 AFVC PERNR Personnel No NUMC 8

6 PLPO BMSCH Base Quantity QUAN 13

7 AFKO GSTRS & GSUZS Scheduled start DATS 8

8 AFKO GLTRS & GLUZS Scheduled finish DATS 8

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

3. Sample Data Selection queries


a. WO Data Selection
Select W.wonum,W.parent,W.status,W.statusdate,W.worktype,W.description,W.assetnum,W.location,W.jpnum,W.estdur,
W.pmnum, W.actlabhrs,W.wopriority,W.targstartdate,W.reportdate,W.schedstart,W.schedfinish,W.crewid,W.supervisor,
W.wolo2,W.worklocation,W.orgid,W.siteid,W.owner,W.workorderid,W.persongroup, &SelectFields&
W.LOCDESC, (w.estlabhrs-w.actlabhrs ) as PlannedvsActual, 0 AS __Sched_ReadOnlyOverr,
CASE
WHEN datediff("d",w.reportdate,getdate()) between 0 and 30 THEN '0 - 30'
WHEN datediff("d",w.reportdate,getdate()) between 31 and 60 THEN '31 - 60'
WHEN datediff("d",w.reportdate,getdate()) between 61 and 90 THEN '61 - 90'
WHEN datediff("d",w.reportdate,getdate()) between 91 and 120 THEN '91 - 120'
ELSE '>120'
END as WOAgingCat,

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

b. Labor Data Selection

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*/

Assiging and Re-assigning Technician:


When a new technician is assigned to the respective operations A maintainence notification with type M1 is created using the
BAPI_ALM_NOTIF_CREATE with initial status as CRTD in SAP.

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.

FM for existing notification change: BAPI_ALM_NOTIF_DATA_MODIFY

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

i. For ex, CalNum, ShiftNum, Supervisor and Crew


d. All these changes can be published back to SAP via its API/connector
e. The user can also change the Labor’s Status (ie the person is no longer Active).

Work Center Specific Resource from SAP HR

Page 14 of 23
Functional Specification Document

PA0002 Personal Data

Data
FieldName Character Decimal Description
Type

PERNR NUMC 8 0 Personnel number

SUBTY CHAR 4 0 Subtype

ENDDA DATS 8 0 End Date

BEGDA DATS 8 0 Start Date

Number of Infotype Record


SEQNR NUMC 3 0
with Same Key

INITS CHAR 10 0 Initials

NACHN CHAR 40 0 Last Name

NAME2 CHAR 40 0 Name at Birth

NACH2 CHAR 40 0 Second Name

VORNA CHAR 40 0 First Name

Page 15 of 23
Functional Specification Document

CNAME CHAR 80 0 Complete Name

TITEL CHAR 15 0 Title

TITL2 CHAR 15 0 Second Title

NAMZU CHAR 15 0 Other Title

VORSW CHAR 15 0 Name Prefix

VORS2 CHAR 15 0 Second Name Prefix

RUFNM CHAR 40 0 Nickname

MIDNM CHAR 40 0 Middle Name

Planned
PA0007 Working
Hours

Data
FieldName Character Decimal Description
Type

Page 16 of 23
Functional Specification Document

PERNR NUMC 8 0 Personnel number

SUBTY CHAR 4 0 Subtype

ENDDA DATS 8 0 End Date

BEGDA DATS 8 0 Start Date

Number of Infotype Record


SEQNR NUMC 3 0
with Same Key

SCHKZ CHAR 8 0 Work Schedule Rule

Employee Time
ZTERF NUMC 1 0
Management Status

EMPCT DEC 5 2 Employment percentage

MOSTD DEC 5 2 Monthly hours

WOSTD DEC 5 2 Hours per week

ARBST DEC 5 2 Daily Working Hours

WKWDY DEC 4 2 Weekly Workdays

JRSTD DEC 7 2 Annual working hours

Indicator Part-Time
TEILK CHAR 1 0
Employee

Minimum number of work


MINTA DEC 5 2
hours per day

Maximum number of work


MAXTA DEC 5 2
hours per day

Minimum weekly working


MINWO DEC 5 2
hours

Maximum number of work


MAXWO DEC 5 2
hours per week

Minimum number of work


MINMO DEC 5 2
hours per month

Page 17 of 23
Functional Specification Document

Absence
PA2006
Quotas

Data
FieldName Character Decimal Description
Type

PERNR NUMC 8 0 Personnel number

SUBTY CHAR 4 0 Subtype

ENDDA DATS 8 0 End Date

BEGDA DATS 8 0 Start Date

BEGUZ TIMS 6 0 Start Time

ENDUZ TIMS 6 0 End Time

VTKEN CHAR 1 0 Previous Day Indicator

KTART NUMC 2 0 Absence Quota Type

Page 18 of 23
Functional Specification Document

Attendences
PA2007
Quotas

Data
FieldName Character Decimal Description
Type

PERNR NUMC 8 0 Personnel number

SUBTY CHAR 4 0 Subtype

ENDDA DATS 8 0 End Date

BEGDA DATS 8 0 Start Date

BEGUZ TIMS 6 0 Start Time

ENDUZ TIMS 6 0 End Time

VTKEN CHAR 1 0 Previous Day Indicator

Page 19 of 23
Functional Specification Document

PA2003 Substitutions

Data
FieldName Character Decimal Description
Type

PERNR NUMC 8 0 Personnel number

SUBTY CHAR 4 0 Subtype

ENDDA DATS 8 0 End Date

BEGDA DATS 8 0 Start Date

BEGUZ TIMS 6 0 Start Time

ENDUZ TIMS 6 0 End Time

VTKEN CHAR 1 0 Previous Day Indicator

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

CALL SAP WEBSERVICE FROM .NET APPLICATION


Webservice URL
https://gsswd.globalsoftsolutions.net/sap/bc/srt/rfc/sap/z_gssmwfm_hndl_evntrqst00/110/z_gssmwfm_hndl_evntrqst00/z
_gssmwfm_hndl_evntrqst00

Credential: User Name : "gichenna" Password : "gss777"

Example to Request “CALENDER” look up


Soap Input Format
DEVICE-ID:160000000000000:DEVICE-TYPE:PM-PRO:APPLICATION-ID:PM-PRO:DEVICE-ALTID:ANON

NOTATION:ZML:VERSION:0:DELIMITER:[.]

EVENT[.]PLANT-MAINTN-GET-CALENDER[.]VERSION[.]0[.]RESPONSE-TYPE[.]FULL-SETS

.NET CODE

string mInputStr = "";

odataTable = objHttpWebRefClass.HttpWebRequest_GSS_SAP([Webservice URL],"PLANT-MAINTN-GET-


CALENDER", mInputStr);

*The Example HttpWebRefClass library will send request to SAP webservice and return response as a datatable

*Create object for HttpWebRefClass [objHttpWebRefClass]

Example to Request “PERSON CALENDAR” look up


Soap Input Format
DEVICE-ID:160000000000000:DEVICE-TYPE:PM-PRO:APPLICATION-ID:PM-PRO:DEVICE-ALTID:ANON

NOTATION:ZML:VERSION:0:DELIMITER:[.]

EVENT[.]PLANT-MAINTN-GET-PERSONCAL[.]VERSION[.]0[.]RESPONSE-TYPE[.]FULL-SETS

ZSFYPM_TT_PERSONID[.]1812

.NET CODE

string mInputStr = "<item><data>ZSFYPM_TT_PERSONID[.]1812</item></data>";

odataTable = objHttpWebRefClass.HttpWebRequest_GSS_SAP([WebserviceURL],"PLANT-MAINTN-GET-
PERSONCAL", mInputStr);

Page 22 of 23
Functional Specification Document

Functional Specification Acceptance Sign-off


Team Member Signature Date

Functional Consultant Srinivasan N

Business Owner Mario Boileau

Project Manager Jagadees Kumar Arumugam

Quality Representative

Page 23 of 23

You might also like