SAP FICO S_ALR_87012172 报表公司代码-名称对不上的问题

以上是表象。 业务觉得奇怪,客户名称对不上,

S_ALR_87012172对报表进行跟踪 

发现 Fi_compandycode_getdetail 取的是地址里面的名称  不是 表t001里面的名称 

FUNCTION FI_COMPANYCODE_GETDETAIL .
*"----------------------------------------------------------------------
*"*"Local interface:
*"       IMPORTING
*"             VALUE(BUKRS_INT) LIKE  T001R_BF-BUKRS
*"             VALUE(AUTHORITY_CHECK) TYPE  XFLAG DEFAULT 'X'
*"       EXPORTING
*"             VALUE(T001_INT) LIKE  T001_BF STRUCTURE  T001_BF
*"       TABLES
*"              T001Z_INT STRUCTURE  T001Z_BF
*"       EXCEPTIONS
*"              BUKRS_NOT_FOUND
*"              NO_AUTHORITY_DISPLAY_BUKRS
*"----------------------------------------------------------------------
TABLES: T001Z,
        T001J.

  DATA: ls_adrs_sel  TYPE addr1_sel.                        "n3206415
  DATA: ls_adrs_data TYPE addr1_val.                        "n3206415
  DATA: lv_nation TYPE ad_nation.                           "n3206415
  DATA: lv_application TYPE ad_dtel VALUE 'FI_AP'.          "n3206415

CLEAR T001_INT.

* Bearbeitung der angeforderten Daten
IF AUTHORITY_CHECK = 'X'.
  PERFORM CHECK_AUTHORITY_T001.
ENDIF.

* company code
  CALL FUNCTION 'FI_COMPANY_CODE_DATA'
       EXPORTING
            I_BUKRS       = BUKRS_INT
       IMPORTING
            E_T001        = T001
       EXCEPTIONS
            ERROR_MESSAGE = 1
            OTHERS        = 2.

  IF SY-SUBRC NE 0.
** Buchungskreis existiert nicht.
    MESSAGE E020(FN) WITH BUKRS_INT RAISING BUKRS_NOT_FOUND.
  ENDIF.

* Zuweisung des Inhalts in die Struktur T001Z_INT
  MOVE-CORRESPONDING T001 TO T001_INT.

  "Begin "n3206415
  ls_adrs_sel-addrnumber = t001-adrnr.
  cl_iav_mapping_util=>get_nation_key_for_lang(
        EXPORTING iv_langu                 = sy-langu
                  iv_application_component = lv_application
        IMPORTING ev_nation = lv_nation ).
  ls_adrs_sel-nation = lv_nation.

  IF ls_adrs_sel-addrnumber IS NOT INITIAL.
    CALL FUNCTION 'ADDR_GET'
      EXPORTING
        address_selection = ls_adrs_sel
      IMPORTING
        address_value     = ls_adrs_data
      EXCEPTIONS
        address_not_exist = 1
        version_not_exist = 2.
    IF sy-subrc = 0.
      " check length of adrc fields and shorten them if necessary
      " (adrs_data-name1 and adrs_data-city1 are C(40) fields while t001_int-butxt andt001_int-ort01 are just C(25)
      IF strlen( ls_adrs_data-name1 ) > 25.
        ls_adrs_data-name1 = ls_adrs_data-name1+0(24).
        ls_adrs_data-name1 = ls_adrs_data-name1 && '.'.
      ENDIF.
      t001_int-butxt = ls_adrs_data-name1.

      IF strlen( ls_adrs_data-city1 ) > 25.
        ls_adrs_data-city1 = ls_adrs_data-city1+0(24).
        ls_adrs_data-city1 = ls_adrs_data-city1 && '.'.
      ENDIF.
      t001_int-ort01 = ls_adrs_data-city1.
    ENDIF.
  ENDIF.
  "End "n3206415

* Bearbeitung der Tabelle T001Z_INT

  LOOP AT T001Z_INT.
*   Parameterwert lesen
    CLEAR T001Z.
    SELECT SINGLE * FROM  T001Z
             WHERE BUKRS       = BUKRS_INT
             AND   PARTY       = T001Z_INT-PARTY.
    T001Z_INT-PAVAL = T001Z-PAVAL.
    T001Z_INT-SUBRC = SY-SUBRC.
*   Parameterbeschreibung lesen
    IF T001Z_INT-SPRAS IS INITIAL.
      T001Z_INT-SPRAS = SY-LANGU.
    ENDIF.
    CLEAR T001J.
    SELECT SINGLE * FROM  T001J
                    WHERE SPRAS = T001Z_INT-SPRAS
                    AND   PARTY = T001Z_INT-PARTY.
    T001Z_INT-TXT30 = T001J-TXT30.
    MODIFY T001Z_INT.
  ENDLOOP.

ENDFUNCTION.


FORM CHECK_AUTHORITY_T001.

  TABLES: TDDAT.
  DATA:  ACTIVITY(2) TYPE C VALUE '03'.

  SELECT SINGLE * FROM TDDAT WHERE TABNAME = 'V_T001'.
  IF SY-SUBRC NE 0  OR  TDDAT-CCLASS EQ SPACE.
    TDDAT-CCLASS = '&NC&'.             " 'non classified table'
  ENDIF.
  AUTHORITY-CHECK OBJECT 'S_TABU_DIS'  "check by class
      ID 'ACTVT'      FIELD ACTIVITY
      ID 'DICBERCLS'  FIELD TDDAT-CCLASS.
  IF SY-SUBRC NE 0.                    "no authority
**   Keine Berechtigung, Buchungskreise anzuzeigen
      MESSAGE E000(FN) RAISING NO_AUTHORITY_DISPLAY_BUKRS.
  ENDIF.
ENDFORM.                               " CHECK_AUTHORITY_T001

更正方案 修改 公司地址里面的名称 

spro->企业接口->定义-> 财务会计->编辑,复制,删除,检查公司代码->编辑公司代码数据 

转到->地址 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

gavin_gxh

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值