BAPI_ACC_DOCUMENT_POST 解决多行一次性供应商凭证导入问题

发布时间 2023-04-28 17:03:21作者: CCSW

 POST 函数将一次性供应商 的信息放在抬头入参上,业务需要多个一次性供应商一起做凭证时,就满足不了。

抬头入参会把所有行的一次性给一样的名称。

想起之前做的 IF_EX_ACC_DOCUMENT~CHANGE ,于是尝试了一下 ,发现可以解决

IF_EX_ACC_DOCUMENT~CHANGE

  "add by itl_csw 28.04.2023 15:50:49
  TYPES:BEGIN OF ty_accfi,  “c
          posnr TYPE posnr_acc,
          name1 TYPE name1_gp,
          ort01 TYPE ort01_gp,
        END OF ty_ACCFI.
  DATA ls_accfi TYPE ty_accfi.
  DATA lt_accfi TYPE TABLE OF ty_accfi.
  "end by itl_csw 28.04.2023 15:50:49

"add by itl_csw 28.04.2023 15:51:48
  IF c_accfi IS NOT INITIAL.
    IMPORT tab = lt_accfi FROM MEMORY ID 'LT_ACCFI'. “c
*    FREE MEMORY ID 'LT_ACCFI'.  check 会进来一次 不能清  在BAPI结束后再清“c
    IF lt_accfi IS NOT INITIAL.
      LOOP AT c_accfi ASSIGNING FIELD-SYMBOL(<fs_accfi>).
        READ TABLE lt_accfi INTO ls_accfi WITH KEY posnr = <fs_accfi>-posnr.
        IF sy-subrc 0.
          <fs_accfi>-name1 = ls_accfi-name1.
          <fs_accfi>-ort01 = ls_accfi-ort01.
        ENDIF.
      ENDLOOP.
    ENDIF.
  ENDIF.
  "end by itl_csw 28.04.2023 15:51:48