---
sourceDocument: Xanadu-API-Referenz
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/de-DE/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - de-DE

ft:publication_title :

    - Xanadu-API-Referenz

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# OCRisterSpanApprovalUtil : Global

# OCRisterSpanApprovalUtil : Global {#ariaid-title1}

Die Skripteinbindung „OCRosterSpanApprovalUtil" stellt Methoden für die Genehmigung von bezahltem Urlaub bereit.

## OCRosterSpanApprovalUtil -- approvePTOSpan (GlideRecord rosterSpanGr) {#ariaid-title2}

Ändert den Typ von „roster_schedule_span" in eine Auszeit von der Genehmigung.
{#r_OCRosSpnApUtil-approvePTOSpan_GR__table_q5p_l1j_hx__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| rosterSpanGr | GlideRecord | Ein roster_schedule_span_proposal-Datensatz. |
[Tabelle : 1. Parameter]

{#r_OCRosSpnApUtil-approvePTOSpan_GR__table_q5p_l1j_hx} {#r_OCRosSpnApUtil-approvePTOSpan_GR__table_r5p_l1j_hx__entry__2}

| Typ | Beschreibung |
|-|-|
| void |   |
[Tabelle : 2. Ergebnisse]

{#r_OCRosSpnApUtil-approvePTOSpan_GR__table_r5p_l1j_hx}

## OCRosterSpanApprovalUtil -- getContextualCalUrlPerSpanProposal (GlideRecord rosterSpanProposalGr) {#ariaid-title3}

Gibt eine URL zum Rufbereitschafts-Kalender zurück, die auf der Liste „rosterSpanProposalGr" basiert.
{#r_OCRosSpnApUtil-gtCtCalUrlPrSnP_GR__table_xhy_cy3_hx__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| rosterSpanProposalGr | GlideRecord | Ein roster_schedule_span_proposal-Datensatz. |
[Tabelle : 3. Parameter]

{#r_OCRosSpnApUtil-gtCtCalUrlPrSnP_GR__table_xhy_cy3_hx} {#r_OCRosSpnApUtil-gtCtCalUrlPrSnP_GR__table_yhy_cy3_hx__entry__2}

| Typ | Beschreibung |
|-|-|
| Zeichenfolge | Eine URL zum Rufbereitschafts-Kalender, die auf der Liste „rosterSpanProposalGr" basiert. |
[Tabelle : 4. Ergebnisse]

{#r_OCRosSpnApUtil-gtCtCalUrlPrSnP_GR__table_yhy_cy3_hx}

## OCRosterSpanApprovalUtil -- getFromDateDisplayValuePerSpanProposal (GlideRecord rosterSpanProposalGr) {#ariaid-title4}

Gibt eine formatierte GlideScheduleDateTime-Zeichenfolge basierend auf dem Startdatum von „rosterSpanProposalGr" zurück.
{#r_OCRosSpnApUtil-gtFrDtDpVlPSPrp_GR__table_f5s_gz3_hx__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| rosterSpanProposalGr | GlideRecord | Ein roster_schedule_span_proposal-Datensatz. |
[Tabelle : 5. Parameter]

{#r_OCRosSpnApUtil-gtFrDtDpVlPSPrp_GR__table_f5s_gz3_hx} {#r_OCRosSpnApUtil-gtFrDtDpVlPSPrp_GR__table_g5s_gz3_hx__entry__2}

| Typ | Beschreibung |
|-|-|
| Zeichenfolge | Eine formatierte GlideScheduleDateTime-Zeichenfolge basierend auf dem Startdatum von „rosterSpanProposalGr". |
[Tabelle : 6. Ergebnisse]

{#r_OCRosSpnApUtil-gtFrDtDpVlPSPrp_GR__table_g5s_gz3_hx}

## OCRisterSpanApprovalUtil - getPTOApproversList(GlideRecord rosterSpanProposalGr) {#ariaid-title5}

Gibt ein Array von Gruppenmanagern basierend auf den Rotationsplangruppen des Benutzers zurück.
{#r_OCRosSpnApUtil-getPTOApprList_GR__table_m5z_tx3_hx__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| rosterSpanProposalGr | GlideRecord | Ein roster_schedule_span_proposal-Datensatz. |
[Tabelle : 7. Parameter]

{#r_OCRosSpnApUtil-getPTOApprList_GR__table_m5z_tx3_hx} {#r_OCRosSpnApUtil-getPTOApprList_GR__table_n5z_tx3_hx__entry__2}

| Typ | Beschreibung |
|-|-|
| Array | Ein Array von Gruppenmanagern basierend auf den Rotationsplangruppen des Benutzers. |
[Tabelle : 8. Ergebnisse]

{#r_OCRosSpnApUtil-getPTOApprList_GR__table_n5z_tx3_hx}  
Das folgende Beispiel ist eine bedarfsgesteuerte Skripteinbindung mit dem Namen OCPTOApprovalReminder. Bei einem Anruf durch die manuelle Ausführung der geplanten Aufgabe werden die Manager und ihre delegierten Manager über Mitarbeiter benachrichtigt, die am folgenden Tag für den bezahlten Urlaub eingeplant sind.

    function OCPTOApprovalReminder() {

    	//Passing parameters in 'getDateFormat()' function with the days which needs to be added
    	var startDate = getDateFormat(1); //We can use System property to set Start Date
    	var endDate = getDateFormat(2); //We can use System property to set End Date
    	
    	//Building the encoded query all the Pending approval state proposals whose start date is tomorrow
    	var encodedQuery = 'state=1^roster_schedule_span.start_date_time>' + startDate + '^roster_schedule_span.start_date_time<' + endDate;
    	
    	//Sends an event notification to all rota managers and their delegate managers
    	getNotApprovedList(encodedQuery);
    	
    	//Converts the date and time in ISO Format
    	function getDateFormat(daysToBeAdded) {

    		//Getting today's date and adding '1' day
    		var todaysDate = new GlideDate();
    		todaysDate.addDaysUTC(daysToBeAdded);
    		todaysDate = todaysDate.getValue();

    		//Converting to today's date object to GlideDate object
    		var addingDaysToDate = new GlideDate();
    		addingDaysToDate.setValue(todaysDate);

    		//Setting the time default to '12:00:00' and returning the time in the specified format to match ISO
    		var staticTime = new GlideTime();
    		staticTime.setValue('00:00:00');
    		staticTime.setValue(staticTime.getHourOfDayUTC() + ':' + staticTime.getMinutesUTC() + ':' + staticTime.getSeconds());

    		//Returns the date & time in the specified format
    		var isoFormattedDateTime = addingDaysToDate.getByFormat("yyyyMMdd") + 'T' + staticTime.getByFormat("HHmmss") + 'Z';
    		return isoFormattedDateTime;
    	}
    	
    	//Gliding Roster schedule span proposal table with the built-in query to fetch the records whose proposals are not approved/rejected
    	function getNotApprovedList(addEncodedQuery) {
    		var rosterScheduleEntryProposalGR = new GlideRecord('roster_schedule_span_proposal');
    		rosterScheduleEntryProposalGR.addEncodedQuery(addEncodedQuery);
    		rosterScheduleEntryProposalGR.query();
    		while(rosterScheduleEntryProposalGR.next()) {

    			//Call On-Call Scheduling OCRosterSpanApprovalUtil library with 'getPTOApproversList' function 
    			//pass GlideRecord object of 'roster_schedule_span_proposal' table
    			var rotaManagers = new OCRosterSpanApprovalUtil().getPTOApproversList(rosterScheduleEntryProposalGR);
    			rotaManagers = rotaManagers.join(",");

    			// Pull only the unique sys_ids
    			var managerList = new ArrayUtil().unique(getManagerDelegateApprovals(rotaManagers).toString().split(','));

                         // Event to trigger a reminder notification for testing.
                         // To use, create a an event registry named "oc.manager.delegate.reminder"
                         // Call the event in a notification and uncomment the following line
    			//gs.eventQueue("oc.manager.delegate.reminder", rosterScheduleEntryProposalGR, managerList, "");

                   if(managerList)
    			gs.info("Returns the list of manager and it's delegate members >>>>>> " + managerList);
    		}
    	}
    	
    	//Get the sys_ids of the managers and their delegate managers
    	function getManagerDelegateApprovals(manager) {
    		var answer = [];
            answer.push(manager);
    		var delegateGR = new GlideRecord("sys_user_delegate");
    		delegateGR.addQuery("user", 'IN', manager);
    		delegateGR.addQuery("starts", "<=", gs.daysAgo(0));
    		delegateGR.addQuery("ends", ">=", gs.daysAgo(0));
    		delegateGR.addQuery("approvals", true);
    		delegateGR.query();
    		while(delegateGR.next()) {
    			answer.push(delegateGR.getValue('user'));
    			answer.push(delegateGR.getValue('delegate'));
    		}
    		return answer;
    	}
    }

Fügen Sie den folgenden Aufruf einem Datensatz in der Tabelle „Geplante Skriptausführung" \[sysauto_script\] hinzu. Dieser Auslöser ruft die Skripteinbindung OCPTOApprovalReminder auf, wenn die geplante Aufgabe manuell ausgeführt wird.

    OCPTOApprovalReminder();

## OCRosterSpanApprovalUtil -- getToDateDisplayValuePerSpanProposal (rosterSpanProposalGr GlideRecord) {#ariaid-title6}

Gibt eine formatierte GlideScheduleDateTime-Zeichenfolge basierend auf dem Enddatum von „rosterSpanProposalGr" zurück.
{#r_OCRosSpnApUtil-gtToDtDVlPrSnPr_GR__table_jbs_21j_hx__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| rosterSpanProposalGr | GlideRecord | Ein roster_schedule_span_proposal-Datensatz. |
[Tabelle : 9. Parameter]

{#r_OCRosSpnApUtil-gtToDtDVlPrSnPr_GR__table_jbs_21j_hx} {#r_OCRosSpnApUtil-gtToDtDVlPrSnPr_GR__table_kbs_21j_hx__entry__2}

| Typ | Beschreibung |
|-|-|
| Zeichenfolge | Eine formatierte GlideScheduleDateTime-Zeichenfolge basierend auf dem Enddatum von „rosterSpanProposalGr". |
[Tabelle : 10. Ergebnisse]

{#r_OCRosSpnApUtil-gtToDtDVlPrSnPr_GR__table_kbs_21j_hx}

## OCRosterSpanApprovalUtil -- getUserNamePerSpanProposal (GlideRecord rosterSpanProposalGr) {#ariaid-title7}

Gibt den Namen des Benutzers basierend auf „rosterSpanProposalGr" zurück.
{#r_OCRosSpnApUtil-gtUNmPerSnProp_GR__table_rpb_ly3_hx__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| rosterSpanProposalGr | GlideRecord | Ein roster_schedule_span_proposal-Datensatz. |
[Tabelle : 11. Parameter]

{#r_OCRosSpnApUtil-gtUNmPerSnProp_GR__table_rpb_ly3_hx} {#r_OCRosSpnApUtil-gtUNmPerSnProp_GR__table_spb_ly3_hx__entry__2}

| Typ | Beschreibung |
|-|-|
| Zeichenfolge | Der Name des Benutzers basierend auf „rosterSpanProposalGr". |
[Tabelle : 12. Ergebnisse]

{#r_OCRosSpnApUtil-gtUNmPerSnProp_GR__table_spb_ly3_hx}

## OCRosterSpanApprovalUtil -- isPTOApprovalRequired() {#ariaid-title8}

Überprüft, ob die Systemeigenschaft com.snc.on_call_rotation.pto.approval.required auf „wahr" festgelegt ist.
{#r_OCRosSpnApUtil-isPTOAppRequired__table_ift_lx3_hx__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| Keine |   |   |
[Tabelle : 13. Parameter]

{#r_OCRosSpnApUtil-isPTOAppRequired__table_ift_lx3_hx} {#r_OCRosSpnApUtil-isPTOAppRequired__table_jft_lx3_hx__entry__2}

| Typ | Beschreibung |
|-|-|
| Boolean | Gibt „wahr" zurück, wenn die Systemeigenschaft com.snc.on_call_rotation.pto.approval.required auf „wahr" festgelegt ist. |
[Tabelle : 14. Ergebnisse]

{#r_OCRosSpnApUtil-isPTOAppRequired__table_jft_lx3_hx}

## OCRosterSpanApprovalUtil -- rejectPTOSpan (rosterSpanGr GlideRecord) {#ariaid-title9}

Ändert den Typ von „roster_schedule_span", um von der Genehmigung abgelehnt zu werden.
{#r_OCRosSpnApUtil-rejectPTOSpan_GR__table_vvb_t1j_hx__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| rosterSpanGr | GlideRecord | Ein roster_schedule_span_proposal-Datensatz. |
[Tabelle : 15. Parameter]

{#r_OCRosSpnApUtil-rejectPTOSpan_GR__table_vvb_t1j_hx} {#r_OCRosSpnApUtil-rejectPTOSpan_GR__table_wvb_t1j_hx__entry__2}

| Typ | Beschreibung |
|-|-|
| void |   |
[Tabelle : 16. Ergebnisse]

{#r_OCRosSpnApUtil-rejectPTOSpan_GR__table_wvb_t1j_hx}

