---
sourceDocument: Referência de API do Xanadu
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/pt-BR/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - pt-BR

ft:publication_title :

    - Referência de API do Xanadu

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# OCRosterSpanApprovalUtil - Global

# OCRosterSpanApprovalUtil - Global {#ariaid-title1}

A inclusão de script OCRosterSpanApprovalUtil fornece métodos para o recurso de aprovação de descanso remunerado.

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

Altera o tipo de roster_schedule_span para licença a partir da aprovação.
{#r_OCRosSpnApUtil-approvePTOSpan_GR__table_q5p_l1j_hx__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| rosterSpanGr | GlideRecord | Um registro roster_schedule_span_proposal. |
[Tabela 1. Parâmetros]

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

| Tipo | Descrição |
|-|-|
| vazio |   |
[Tabela 2. Retorna]

{#r_OCRosSpnApUtil-approvePTOSpan_GR__table_r5p_l1j_hx}

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

Retorna um URL para o calendário de plantão com base em rosterSpanProposalGr.
{#r_OCRosSpnApUtil-gtCtCalUrlPrSnP_GR__table_xhy_cy3_hx__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| rosterSpanProposalGr | GlideRecord | Um registro roster_schedule_span_proposal. |
[Tabela 3. Parâmetros]

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

| Tipo | Descrição |
|-|-|
| Cadeia de caracteres | Um URL para o calendário de plantão com base em rosterSpanProposalGr. |
[Tabela 4. Retorna]

{#r_OCRosSpnApUtil-gtCtCalUrlPrSnP_GR__table_yhy_cy3_hx}

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

Retorna uma cadeia de caracteres GlideScheduleDateTime formatada com base na data de início de rosterSpanProposalGr.
{#r_OCRosSpnApUtil-gtFrDtDpVlPSPrp_GR__table_f5s_gz3_hx__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| rosterSpanProposalGr | GlideRecord | Um registro roster_schedule_span_proposal. |
[Tabela 5. Parâmetros]

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

| Tipo | Descrição |
|-|-|
| Cadeia de caracteres | Uma cadeia de caracteres GlideScheduleDateTime formatada com base na data de início de rosterSpanProposalGr. |
[Tabela 6. Retorna]

{#r_OCRosSpnApUtil-gtFrDtDpVlPSPrp_GR__table_g5s_gz3_hx}

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

Retorna uma matriz de gerentes de grupo com base nos grupos de escala do usuário.
{#r_OCRosSpnApUtil-getPTOApprList_GR__table_m5z_tx3_hx__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| rosterSpanProposalGr | GlideRecord | Um registro roster_schedule_span_proposal. |
[Tabela 7. Parâmetros]

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

| Tipo | Descrição |
|-|-|
| Matriz | Uma matriz de gerentes de grupo com base nos grupos de escala do usuário. |
[Tabela 8. Retorna]

{#r_OCRosSpnApUtil-getPTOApprList_GR__table_n5z_tx3_hx}  
O exemplo a seguir é uma inclusão de script sob demanda chamada OCPTOApprovalReminder. Quando chamados executando o trabalho agendado manualmente, os gerentes e seus gerentes delegados são notificados sobre os funcionários que estão programados para descanso remunerado no dia seguinte.

    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;
    	}
    }

Adicione a seguinte chamada a um registro na tabela Execução de script agendada \[sysauto_script\]. Este gatilho chama a inclusão de script OCPTOApprovalReminder quando o trabalho agendado é executado manualmente.

    OCPTOApprovalReminder();

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

Retorna uma cadeia de caracteres GlideScheduleDateTime formatada com base na data de término de rosterSpanProposalGr.
{#r_OCRosSpnApUtil-gtToDtDVlPrSnPr_GR__table_jbs_21j_hx__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| rosterSpanProposalGr | GlideRecord | Um registro roster_schedule_span_proposal. |
[Tabela 9. Parâmetros]

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

| Tipo | Descrição |
|-|-|
| Cadeia de caracteres | Uma cadeia de caracteres GlideScheduleDateTime formatada com base na data de término de rosterSpanProposalGr. |
[Tabela 10. Retorna]

{#r_OCRosSpnApUtil-gtToDtDVlPrSnPr_GR__table_kbs_21j_hx}

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

Retorna o nome do usuário com base em rosterSpanProposalGr.
{#r_OCRosSpnApUtil-gtUNmPerSnProp_GR__table_rpb_ly3_hx__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| rosterSpanProposalGr | GlideRecord | Um registro roster_schedule_span_proposal. |
[Tabela 11. Parâmetros]

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

| Tipo | Descrição |
|-|-|
| Cadeia de caracteres | O nome do usuário com base em rosterSpanProposalGr. |
[Tabela 12. Retorna]

{#r_OCRosSpnApUtil-gtUNmPerSnProp_GR__table_spb_ly3_hx}

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

Verifica se a propriedade do sistema com.snc.on_call_rotation.pto.approval.required é verdadeira.
{#r_OCRosSpnApUtil-isPTOAppRequired__table_ift_lx3_hx__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| Nenhum |   |   |
[Tabela 13. Parâmetros]

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

| Tipo | Descrição |
|-|-|
| Booliano | Retorna verdadeiro se a propriedade do sistema com.snc.on_call_rotation.pto.approval.required for verdadeira. |
[Tabela 14. Retorna]

{#r_OCRosSpnApUtil-isPTOAppRequired__table_jft_lx3_hx}

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

Altera o tipo de roster_schedule_span para rejeitado da aprovação.
{#r_OCRosSpnApUtil-rejectPTOSpan_GR__table_vvb_t1j_hx__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| rosterSpanGr | GlideRecord | Um registro roster_schedule_span_proposal. |
[Tabela 15. Parâmetros]

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

| Tipo | Descrição |
|-|-|
| vazio |   |
[Tabela 16. Retorna]

{#r_OCRosSpnApUtil-rejectPTOSpan_GR__table_wvb_t1j_hx}

