2008-11-10 25 views
5

podría pensar que esto sería obvio, pero al buscar documentación, foros de SAP, Google, etc., he tenido un éxito espectacular. Estoy creando un archivo en ABAP en un sistema de archivos Solaris utilizando el siguiente código:¿Cómo se configuran (unix) los permisos al crear un archivo en SAP ABAP?

OPEN DATASET p_file FOR OUTPUT IN TEXT MODE ENCODING DEFAULT. 

el archivo resultante es propiedad y agrupados de acuerdo a un usuario administrador predefinido, lo cual está bien, pero la situación delicada que es los permisos se establecen en 660/rw-rw ----, lo que significa que no puedo examinar los resultados. ¿hay alguna manera (posiblemente usando esa adición TYPE vagamente definida?) ¿Puedo especificar los permisos resultantes en el nuevo archivo?

gracias!

Respuesta

3

esto funciona en 4.6B:

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

Espero que esto ayude.

Saludos, Heiko

+0

Dudoso sobre la escritura pública; prueba 'ug = rw, o = r'. –

4

Vaya a SM69, cree un comando lógico del sistema, podría llamarlo ZCHMOD.

Asigne ese comando al chmod, luego llame con el parámetro apropiado (man chmod en la línea de comando es su amigo).

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. 

Obviamente, eso sería un proceso de 2 pasos, pero funciona.

+0

wow, extraño salto de aro, pero sí, esto se ve bien. – wise

1

en el parámetro add RZ10 instalan/máscara de usuario. El valor predeterminado es 007, puede cambiarlo: 000, 002 ... Por lo tanto, los archivos creados serán -rw-rw-rw-, -rw-rw-r - ...

+0

Saludos, es posible que no desee que esta máscara se configure para _todos_ nuevos archivos. – tomdemuyt

Cuestiones relacionadas