2008-11-10 10 views
5

आपको लगता है कि यह स्पष्ट होगा, लेकिन दस्तावेज़ीकरण, एसएपी मंच, गुगलिंग आदि के माध्यम से खोज, मैं शानदार रूप से असफल रहा हूं। मैं निम्नलिखित कोड का उपयोग कर एक सोलारिस फाइल सिस्टम पर ए बी ए पी में एक फ़ाइल बना रहा हूं:एसएपी एबीएपी में फ़ाइल बनाते समय (यूनिक्स) अनुमतियों को कैसे सेट करें?

OPEN DATASET p_file FOR OUTPUT IN TEXT MODE ENCODING DEFAULT. 

परिणामी फ़ाइल स्वामित्व में है और वर्गीकृत किया एक पूर्व निर्धारित व्यवस्थापक उपयोगकर्ता है, जो ठीक है के अनुसार, लेकिन चिपचिपा विकेट कि है अनुमतियां 660/आरडब्ल्यू-आरडब्ल्यू ---- पर सेट की गई हैं, जिसका अर्थ है कि मैं परिणामों की जांच नहीं कर सकता। क्या कोई तरीका है (संभवतः उस अस्पष्ट परिभाषित प्रकार के अतिरिक्त उपयोग का उपयोग कर?) मैं नई फाइल पर परिणामी अनुमतियां निर्दिष्ट कर सकता हूं?

धन्यवाद!

उत्तर

3

इस 4.6B में काम करता है:

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

आशा इस मदद करता है।

चीयर्स, Heiko

+0

सार्वजनिक लेखन के बारे में चिंतित; कोशिश करें 'ug = rw, o = r'। –

4

SM69 पर जाएं, लॉजिकल सिस्टम कमांड बनाएं, आप इसे ZCHMOD कह सकते हैं।

मानचित्र जो chmod पर आदेश देता है, तो उचित पैरामीटर (man chmod कमांड लाइन पर आपका मित्र है) के साथ कॉल करें।

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. 

जाहिर है, यह एक 2 कदम प्रक्रिया होगी, लेकिन यह काम करता है।

+0

वाह, अजीब उछाल कूदना, लेकिन हाँ, यह सही दिखता है। – wise

1

RZ10 ऐड पैरामीटर में स्थापित/umask। डिफ़ॉल्ट मान 007 है, आप इसे बदल सकते हैं: 000, 002 ... तो, बनाई गई फ़ाइलें -rw-rw-rw-, -rw-rw-r --...

+0

नमस्कार, हो सकता है कि आप यह मास्क _all_ नई फ़ाइलों के लिए सेट न करें। – tomdemuyt

संबंधित मुद्दे