2008-11-10 12 views
5

Sie würden denken, dass dies offensichtlich wäre, aber Durchsuchen von Dokumentation, SAP-Foren, Googeln usw., ich war spektakulär erfolglos. Ich bin auf einem solaris-Dateisystem eine Datei in ABAP Erstellung mit dem folgenden Code:Wie setzt man (unix) Berechtigungen beim Erstellen einer Datei in SAP ABAP?

OPEN DATASET p_file FOR OUTPUT IN TEXT MODE ENCODING DEFAULT. 

die resultierende Datei ist im Besitz und gruppierte nach einem vordefinierten Admin-Benutzer, was in Ordnung ist, aber das Sticky Wicket ist, dass Die Berechtigungen sind auf 660/rw-rw ---- gesetzt, was bedeutet, dass ich die Ergebnisse nicht überprüfen kann. Gibt es einen Weg (möglicherweise mit dieser vage definierten TYPE-Zusatz?) Ich kann die resultierenden Berechtigungen für die neue Datei angeben?

danke!

Antwort

3

das funktioniert in 4.6B:

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

Hoffnung, das hilft.

Cheers, Heiko

+0

Zweifelhaft über öffentliches Schreiben; versuche 'ug = rw, o = r'. –

4

Gehen Sie zu SM69, erstellen Sie einen logischen Systembefehl, Sie könnten es ZCHMOD nennen.

Ordnen Sie diesen Befehl chmod zu, rufen Sie dann mit dem richtigen Parameter (man chmod in der Befehlszeile ist Ihr Freund).

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. 

Offensichtlich wäre das ein 2-Schritt-Prozess, aber es funktioniert.

+0

wow, komisch Hoop Jumping, aber ja, das sieht gut aus. – wise

1

In RZ10 Add Parameter install/umask. Standardwert ist 007, Sie können es ändern: 000, 002 ... Also die Dateien erstellt werden -rw-rw-rw-, -rw-rw-r - ...

+0

Grüße, möchten Sie nicht diese Maske für _all_ neue Dateien festgelegt. – tomdemuyt