Systemwalker Operation Manager リファレンスマニュアル - UNIX/Windows(R)共通 -
目次 索引 前ページ次ページ

第17章 API情報> 17.1 カレンダAPI

17.1.3 カレンダ更新API(Mp_SetCalendar2)

カレンダ更新API(Mp_SetCalendar2)について説明します。

■記述形式

int Mp_SetCalendar2 (char *APL_name,
            char *cal_name,
            CALENDAR_WDAT2 *cal_dat2) ;

■機能説明

Mp_SetCalendar2関数は、カレンダ情報の更新(指定カレンダが存在しない場合は、登録として扱う)を行います。第何週目の何曜日といった、年ごとに日付が変動する休日および振替休日の情報も更新できます。

SYSTEM_CALENDARについては、更新できません。

また、過去の日付は、設定できません。

■パラメタの説明

APL_name

要求元アプリケーション名(64バイト以内)の格納領域アドレスを指定します。

終わりはNULLを指定してください。“Mp_”および“_CAL_”の文字列で始まる名前は、使用しないでください。

cal_name

更新するカレンダ名の格納領域アドレスを指定します。カレンダ名は、24バイト以内で終わりにNULLを指定してください。

cal_dat2

カレンダ更新情報構造(CALENDAR_WDAT2)のアドレスを指定します。

カレンダ更新情報構造体については、“カレンダ登録API”を参照してください。

■復帰値

復帰値

意 味

0

正常終了しました。

-5

SYSTEM_CALENDARが指定されました。

-6

システム管理者(Administratorsグループに属するユーザまたはスーパーユーザ)ではありません。

-8

カレンダ情報に誤りがあります。

-10

カレンダサービス/カレンダデーモンが動作していません。

-11

メモリ不足です。

-15

カレンダ名に指定できない文字を指定しました。

-16

ファイル操作に失敗しました(writeエラー)。

-17

カレンダ名長が不当です。

■プログラム例

カレンダ更新APIのプログラムを以下に示します。

 

#include <stdio.h>
#include <stdlib.h> 
#include <malloc.h> 
#include <string.h> 

#include <f3crhcap.h> 

extern  void set_cal_dat2( CALENDAR_WDAT2 *) ;

void main() {

        int ret ; 
        int count ; 
        CALENDAR_WDAT2 cal_dat2 ; 

        /*..........初期化 ..........*/ 
        memset( &cal_dat2, 0x00, sizeof( CALENDAR_WDAT2) ) ;

        /*..........カレンダ情報の設定 ..........*/ 
        /*今年を設定 */ 
        cal_dat2.year = 2000 ;

        /*  振替休日を有効にする */ 
        cal_dat2.sub_holiday = 1 ;

        /*毎週日曜を休日にする */ 
        for ( count = 0 ; count < 12 ; count++ ){
                cal_dat2.holiday_w[count] = (unsigned char)0x80 ; 
        }

        /* 3年分のカレンダ情報を設定する */ 
        set_cal_dat2( &cal_dat2 ) ; 


        /*カレンダの更新 */ 
        ret = Mp_SetCalendar2( "Test Pro", "calendar_1", &cal_dat2 ) ;

        printf( "ret= %d\n", ret ) ;

        exit ( 0 ) ;
}

目次 索引 前ページ次ページ

All Rights Reserved, Copyright (C) 富士通株式会社 1995-2007