Vous êtes sur la page 1sur 3

FUNCTION zfo_gs_vt_track_request.

*"----------------------------------------------------------------------
*"*"Local Interface:
*" TABLES
*" T_GS_VT_REQ STRUCTURE ZPM_GS_VT_REQ_TR
*"----------------------------------------------------------------------
**----------------------------------------------------------------------
**CONFIDENTIAL AND PROPRIETARY
**COPYRIGHT 2015, QATAR PETROCHEMICALS PROJECT
**ALL RIGHTS RESERVED
**----------------------------------------------------------------------*
**----------------------------------------------------------------------*
** PROGRAM NAME :ZFO_GS_HS_TRACK_REQUEST
** CREATED BY :Pankaj Kumar
** CREATION DATE :2016-05-14
** DER NUMBER :PM_E_0015
** TRANSPORT NUMBER :DERK906388
** DESCRIPTION :General Service - Visitor Transport - Display Req
* for current user
**----------------------------------------------------------------------*
** REVISION HISTORY-----------------------------------------------------*
** REFERENCE TYPE: <DER OR TPR OR SCR>
** REFERENCE NO:
** CHANGED BY:
** CHANGE DATE: YYYY-MM-DD
** TRANSPORT NUMBER:
** DESCRIPTION:
**----------------------------------------------------------------------*
CONSTANTS : lc_vt TYPE char40 VALUE 'Visitor Tracker', " Hs of type CHAR40
lc_sub TYPE char40 VALUE 'Sent for Approval',
lc_kokrs TYPE char4 VALUE 'QPCO', " Kokrs of type CHAR4
lc_dot TYPE char1 VALUE '.', " Dot of type CHAR1
lc_colon TYPE char1 VALUE ':', " Colon of type CHAR1
lc_appr TYPE char40 VALUE 'Approved', " Appr of type CHAR40
lc_reje TYPE char40 VALUE 'Rejected'. " Reje of type CHAR40

FIELD-SYMBOLS <lfs_tracker> TYPE zpm_gs_vt_req_tr. " Structure for Request


Tracker - Visitor Transport

SELECT
DISTINCT
req_id, "Request Id
CASE serv_type
WHEN '04' THEN @lc_vt
ELSE serv_type
END AS serv_desc, "Service Type Description
CASE request_status
WHEN 'S' THEN @lc_sub
WHEN 'A' THEN @lc_appr
WHEN 'R' THEN @lc_reje
ELSE request_status
END AS req_status, "Request Status Description
comments, "Comments
a~name_text AS creator, "Creator's name
crtddate, "Request Create Date
crtdtime, "request Create Time
b~name_text AS agent, "Agent Name
appdate, "Approval Date
apptime, "Approval Time
approver_comment, "Approver Comment
visitor_name, "Visitor Name
visitor_desc AS visitor_type, "Visitor Type
vehicle_desc AS vehicle_type, "Vehicle type
required_from, "Required From
required_to, "Required To
transport_time, "Transport Time
ltext AS cost_center, "Cost Center
qapco_contact " QAPCO CONTACT

INTO CORRESPONDING FIELDS OF TABLE @t_gs_vt_req


FROM zpm_gs_vt_req " GS Visitor Transport Request Table
LEFT OUTER JOIN zpm_gs_vt_veh_ty
ON zpm_gs_vt_req~vehicle_type = zpm_gs_vt_veh_ty~vehicle_type
LEFT OUTER JOIN zpm_gs_vt_vis_ty
ON zpm_gs_vt_req~visitor_type = zpm_gs_vt_vis_ty~visitor_type
LEFT OUTER JOIN cskt
ON ( zpm_gs_vt_req~cost_center = cskt~kostl
AND spras = @sy-langu
AND kokrs = @lc_kokrs
AND datbi GE @sy-datum )
LEFT OUTER JOIN v_usr_name AS a
ON creator = a~bname " User Name in User Master Record
LEFT OUTER JOIN v_usr_name AS b
ON agent = b~bname " User Name in User Master Record
WHERE creator = @sy-uname
ORDER BY crtddate DESCENDING,
crtdtime DESCENDING.

LOOP AT t_gs_vt_req ASSIGNING <lfs_tracker>.


IF <lfs_tracker>-crtddate IS NOT INITIAL.
CONCATENATE <lfs_tracker>-crtddate(4)
<lfs_tracker>-crtddate+4(2)
<lfs_tracker>-crtddate+6(2)
INTO <lfs_tracker>-crtddate SEPARATED BY lc_dot.
ENDIF. " IF <lfs_tracker>-crtddate IS NOT INITIAL
IF <lfs_tracker>-crtdtime IS NOT INITIAL.
CONCATENATE <lfs_tracker>-crtdtime(2)
<lfs_tracker>-crtdtime+2(2)
<lfs_tracker>-crtdtime+4(2)
INTO <lfs_tracker>-crtdtime SEPARATED BY lc_colon.
ENDIF. " IF <lfs_tracker>-crtdtime IS NOT INITIAL
IF <lfs_tracker>-appdate IS NOT INITIAL.
CONCATENATE <lfs_tracker>-appdate(4)
<lfs_tracker>-appdate+4(2)
<lfs_tracker>-appdate+6(2)
INTO <lfs_tracker>-appdate SEPARATED BY lc_dot.
ENDIF. " IF <lfs_tracker>-appdate IS NOT INITIAL

IF <lfs_tracker>-apptime IS NOT INITIAL.


CONCATENATE <lfs_tracker>-apptime(2)
<lfs_tracker>-apptime+2(2)
<lfs_tracker>-apptime+4(2)
INTO <lfs_tracker>-apptime SEPARATED BY lc_colon.
ENDIF. " IF <lfs_tracker>-apptime IS NOT INITIAL

IF <lfs_tracker>-required_from IS NOT INITIAL.


CONCATENATE <lfs_tracker>-required_from(4)
<lfs_tracker>-required_from+4(2)
<lfs_tracker>-required_from+6(2)
INTO <lfs_tracker>-required_from SEPARATED BY lc_dot.
ENDIF. " IF <lfs_tracker>-required_from IS NOT INITIAL

IF <lfs_tracker>-required_to IS NOT INITIAL.


CONCATENATE <lfs_tracker>-required_to(4)
<lfs_tracker>-required_to+4(2)
<lfs_tracker>-required_to+6(2)
INTO <lfs_tracker>-required_to SEPARATED BY lc_dot.
ENDIF. " IF <lfs_tracker>-required_to IS NOT INITIAL

SELECT SINGLE
vorna,
nachn
FROM pa0002
INTO @DATA(l_name)
WHERE pernr = @<lfs_tracker>-qapco_contact.

CONCATENATE l_name-vorna
l_name-nachn
INTO <lfs_tracker>-qapco_contact SEPARATED BY space.

ENDLOOP. " LOOP AT t_gs_vt_req ASSIGNING <lfs_tracker>

ENDFUNCTION.

Vous aimerez peut-être aussi