2008-11-10 16 views
5

można by pomyśleć, że byłoby to oczywiste, ale przeszukując dokumentację, fora SAP, Googling itp., Odniosłem spektakularny sukces. Tworzę plik w ABAP na systemie plików Solaris za pomocą następującego kodu:Jak ustawić (unix) uprawnienia podczas tworzenia pliku w SAP ABAP?

OPEN DATASET p_file FOR OUTPUT IN TEXT MODE ENCODING DEFAULT. 

plik wynikowy jest własnością i pogrupowane według wstępnie zdefiniowanych przez użytkownika administratora, co jest w porządku, ale jest to, że lepki furtki uprawnienia są ustawione na 660/rw-rw ----, co oznacza, że ​​nie mogę sprawdzić wyników. czy istnieje sposób (być może przy użyciu tego niejasno zdefiniowanego dodatku TYPE?) Mogę określić wynikające z tego uprawnienia dla nowego pliku?

dziękuję!

Odpowiedz

3

to działa w 4.6b:

 CONCATENATE 'chmod ugo=rw ' lc_filename 
      INTO lc_chmod SEPARATED BY space. 
     CALL 'SYSTEM' ID 'COMMAND' FIELD lc_chmod. 

Nadzieja to pomaga.

Cheers, Heiko

+0

Wątpię w pisanie publiczne; spróbuj "ug = rw, o = r". –

4

Przejdź do SM69, utwórz logiczne polecenie systemowe, możesz nazwać je ZCHMOD.

Mapuj to polecenie na chmod, a następnie wywołaj z odpowiednim parametrem (man chmod w wierszu poleceń to Twój przyjaciel).

CALL FUNCTION 'SXPG_COMMAND_EXECUTE' 
    EXPORTING 
    commandname     = 'ZCHMOD' 
    additional_parameters   = l_par 
    operatingsystem    = l_os 
    TABLES 
    exec_protocol     = it_log 
    EXCEPTIONS 
    no_permission     = 1 
    command_not_found    = 2 
    parameters_too_long   = 3 
    security_risk     = 4 
    wrong_check_call_interface = 5 
    program_start_error   = 6 
    program_termination_error  = 7 
    x_error      = 8 
    parameter_expected   = 9 
    too_many_parameters   = 10 
    illegal_command    = 11 
    wrong_asynchronous_parameters = 12 
    cant_enq_tbtco_entry   = 13 
    jobcount_generation_error  = 14 
    OTHERS      = 15. 

Oczywiście byłby to proces dwuetapowy, ale działa.

+0

Wow, dziwne hoop jumping, ale tak, to wygląda dobrze. – wise

1

W RZ10 Dodaj parametr zainstalować/umask. Domyślna wartość to 007, możesz ją zmienić: 000, 002 ... Utworzone pliki będą więc następujące: -rw-rw-rw-, -rw-rw-r --...

+0

Pozdrowienia, możesz nie chcieć ustawić tej maski dla _wszystkich nowych plików. – tomdemuyt

Powiązane problemy