Comment définir des autorisations (unix) lors de la création d'un fichier dans SAP ABAP?
Question
vous penseriez que cela serait évident, mais en cherchant dans la documentation, les forums SAP, Google, etc., j'ai échoué de façon spectaculaire. Je crée un fichier dans ABAP sur un système de fichiers Solaris à l'aide du code suivant:
OPEN DATASET p_file FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.
le fichier résultant est possédé et groupé selon un utilisateur d’administrateur prédéfini, ce qui est correct, mais le port collant signifie que les autorisations sont définies sur 660 / rw-rw ----, ce qui signifie que je ne peux pas examiner Les resultats. existe-t-il un moyen (en utilisant éventuellement cette addition de TYPE définie de manière vague?) Je peux spécifier les autorisations résultantes sur le nouveau fichier?
merci!
La solution
cela fonctionne dans 4.6B:
CONCATENATE 'chmod ugo=rw ' lc_filename
INTO lc_chmod SEPARATED BY space.
CALL 'SYSTEM' ID 'COMMAND' FIELD lc_chmod.
J'espère que cela vous aidera.
Salut, Heiko
Autres conseils
Allez dans SM69, créez une commande système logique, vous pouvez l'appeler ZCHMOD.
Mappez cette commande sur chmod
, puis appelez avec le paramètre approprié
( man chmod
sur la ligne de commande est votre ami).
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.
Évidemment, ce serait un processus en 2 étapes, mais cela fonctionne.
Dans RZ10, ajoutez le paramètre install / umask . La valeur par défaut est 007, vous pouvez la changer: 000, 002 ... Ainsi, les fichiers créés seront -rw-rw-rw-, -rw-rw-r --...