Comment définir des autorisations (unix) lors de la création d'un fichier dans SAP ABAP?

StackOverflow https://stackoverflow.com/questions/278873

  •  07-07-2019
  •  | 
  •  

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!

Était-ce utile?

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 --...

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top