2008-11-10 9 views
5

penseresti che sarebbe ovvio, ma cercando tra documentazione, forum SAP, Google, ecc., Sono stato incredibilmente fallito. Sto creando un file in ABAP su un filesystem Solaris utilizzando il seguente codice:Come impostare (unix) i permessi durante la creazione di un file in SAP ABAP?

OPEN DATASET p_file FOR OUTPUT IN TEXT MODE ENCODING DEFAULT. 

il file risultante è di proprietà e raggruppati in base a un utente amministratore predefinito, che va bene, ma il wicket appiccicoso è che le autorizzazioni sono impostate su 660/rw-rw ----, il che significa che non posso esaminare i risultati. c'è un modo (forse usando quell'aggiunta di TIPO vagamente definita?) Posso specificare i permessi risultanti sul nuovo file?

grazie!

risposta

3

questo funziona in 4.6B:

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

Spero che questo aiuti.

Cheers, Heiko

+0

Dubbi sulla scrittura pubblica; prova 'ug = rw, o = r'. –

4

Passare a SM69, creare un comando di sistema logico, è possibile chiamarlo ZCHMOD.

Mappare il comando a chmod, quindi chiamare con il parametro corretto (man chmod sulla riga di comando è un amico).

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. 

Ovviamente, sarebbe un processo in 2 passaggi, ma funziona.

+0

wow, strano hoop saltando, ma sì, questo sembra giusto. – wise

1

In RZ10 parametro aggiuntivo installare/umask. Il valore predefinito è 007, è possibile modificarlo: 000, 002 ... Quindi, i file creati saranno -rw-rw-rw-, -rw-rw-r - ...

+0

Saluti, potresti non voler impostare questa maschera per tutti i nuovi file. – tomdemuyt

Problemi correlati