vk13查詢dump
內(nèi)部錯誤:T IVAKE F IVAKE_INSERT I MV130F0I
VK067
通過查看底表是那個日期重復(fù)了
解決辦法就是VK11,就是把這個日期給重新覆蓋點,原來是20230506到20230606然后中間還有一條20230510到20230610
Vk11創(chuàng)建20230101到20231010,覆蓋這段時間就可以了
這個是因為調(diào)用bapi的BAPI_PRICES_CONDITONS導(dǎo)致日期重復(fù)會報錯
使用另一個bapi不報錯RV_CONDITION_COPY
LOOP AT GT_REQ INTO GS_REQ.
? ? GS_RES-MATNR = GS_REQ-MATNR.
? ? LV_MATNR = GS_REQ-MATNR.
? ? LV_MATNR = |{ LV_MATNR ALPHA = IN }|.
? ? GS_REQ-MATNR = LV_MATNR.
? ? SELECT COUNT(*) FROM MARA WHERE MATNR = @GS_REQ-MATNR INTO @DATA(LV_CNT) .
? ? IF LV_CNT = 1."查詢到數(shù)據(jù)
? ? ? SELECT SINGLE *
? ? ? INTO @DATA(LS_A901)
? ? ? ? ? ? FROM A901
? ? ? ? ? ? WHERE KAPPL = 'V'? AND KSCHL = @GS_REQ-KSCHL
? ? ? ? ? ? AND MATNR = @GS_REQ-MATNR
? ? ? ? ? ? AND DATBI = @GS_REQ-DATBI
? ? ? ? ? ? AND DATAB = @GS_REQ-DATAB.
? ? ? IF SY-SUBRC = 0.
? ? ? ? LV_MODE = 'B'.
? ? ? ELSE.
? ? ? ? LV_MODE = 'A'.
? ? ? ENDIF.
? ? ? CLEAR: LS_KEY_FIELDS.
? ? ? "? LS_KEY_FIELDS-VKORG = IS_INPUT-VKORG.? " 銷售組織
? ? ? "? LS_KEY_FIELDS-VTWEG = IS_INPUT-VTWEG.? " 分銷渠道
? ? ? "? LS_KEY_FIELDS-KUNNR = IS_INPUT-KUNNR.? " 客戶
? ? ? LS_KEY_FIELDS-MATNR = GS_REQ-MATNR.? " 物料號
? ? ? CLEAR LS_COPY_RECORDS.
? ? ? " condtion fields
? ? ? LS_COPY_RECORDS-KOPOS = '01'.? ? ? ? ? " 條件的序列號
? ? ? LS_COPY_RECORDS-KSCHL = GS_REQ-KSCHL. " 條件類型
? ? ? LS_COPY_RECORDS-KAPPL = 'V'.? ? ? ? ? ? " 應(yīng)用程序
? ? ? LS_COPY_RECORDS-WAERS = GS_REQ-KONWA. " 貨幣碼
? ? ? LS_COPY_RECORDS-KMEIN = GS_REQ-KMEIN. " 單位
? ? ? LS_COPY_RECORDS-KBETR = GS_REQ-KBETR. " 金額
? ? ? LS_COPY_RECORDS-KPEIN = GS_REQ-KPEIN.? ? ? ? " 條件定價單位
? ? ? " ls_copy_records-stfkz = 'A'.? ? ? ? ? ? " 等級類型
? ? ? LS_COPY_RECORDS-KRECH = 'C'.? ? ? ? ? ? " 條件的計算類型
? ? ? APPEND LS_COPY_RECORDS TO LT_COPY_RECORDS.
? ? ? CALL FUNCTION 'RV_CONDITION_RESET'.
? ? ? CALL FUNCTION 'RV_CONDITION_COPY'
? ? ? ? EXPORTING
? ? ? ? ? APPLICATION? ? ? ? ? ? ? ? = 'V'
? ? ? ? ? CONDITION_TABLE? ? ? ? ? ? = '901'
? ? ? ? ? CONDITION_TYPE? ? ? ? ? ? ? = GS_REQ-KSCHL
? ? ? ? ? DATE_FROM? ? ? ? ? ? ? ? ? = GS_REQ-DATAB
? ? ? ? ? DATE_TO? ? ? ? ? ? ? ? ? ? = GS_REQ-DATBI
? ? ? ? ? KEY_FIELDS? ? ? ? ? ? ? ? ? = LS_KEY_FIELDS
? ? ? ? ? MAINTAIN_MODE? ? ? ? ? ? ? = LV_MODE? ? ? ? ? ? "A:創(chuàng)建? B:更新
? ? ? ? ? OVERLAP_CONFIRMED? ? ? ? ? = 'X'
? ? ? ? ? USED_BY_IDOC? ? ? ? ? ? ? ? = 'X'
? ? ? ? ? KEEP_OLD_RECORDS? ? ? ? ? ? = 'X'
*? ? ? IMPORTING
*? ? ? ? e_komk? ? ? ? ? ? ? ? ? ? ? = ls_komk
*? ? ? ? e_komp? ? ? ? ? ? ? ? ? ? ? = ls_komp
*? ? ? ? new_record? ? ? ? ? ? ? ? ? = lv_record
? ? ? ? TABLES
? ? ? ? ? COPY_RECORDS? ? ? ? ? ? ? ? = LT_COPY_RECORDS
*? ? ? ? copy_staffel? ? ? ? ? ? ? ? = lt_copy_staffel
? ? ? ? EXCEPTIONS
? ? ? ? ? ENQUEUE_ON_RECORD? ? ? ? ? = 1
? ? ? ? ? INVALID_APPLICATION? ? ? ? = 2
? ? ? ? ? INVALID_CONDITION_NUMBER? ? = 3
? ? ? ? ? INVALID_CONDITION_TYPE? ? ? = 4
? ? ? ? ? NO_AUTHORITY_EKORG? ? ? ? ? = 5
? ? ? ? ? NO_AUTHORITY_KSCHL? ? ? ? ? = 6
? ? ? ? ? NO_AUTHORITY_VKORG? ? ? ? ? = 7
? ? ? ? ? NO_SELECTION? ? ? ? ? ? ? ? = 8
? ? ? ? ? TABLE_NOT_VALID? ? ? ? ? ? = 9
? ? ? ? ? NO_MATERIAL_FOR_SETTLEMENT? = 10
? ? ? ? ? NO_UNIT_FOR_PERIOD_COND? ? = 11
? ? ? ? ? NO_UNIT_REFERENCE_MAGNITUDE = 12
? ? ? ? ? INVALID_CONDITION_TABLE? ? = 13
? ? ? ? ? OTHERS? ? ? ? ? ? ? ? ? ? ? = 14.
? ? ? IF SY-SUBRC = 0.
? ? ? ? " Commit and Get Condition NO.
? ? ? ? CALL FUNCTION 'RV_CONDITION_SAVE'
? ? ? ? ? TABLES
? ? ? ? ? ? KNUMH_MAP = LT_KNUMH_COMP.
? ? ? ? CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
? ? ? ? ? EXPORTING
? ? ? ? ? ? WAIT = 'X'.
? ? ? ? CALL FUNCTION 'RV_CONDITION_RESET'.
? ? ? ? READ TABLE LT_KNUMH_COMP INTO LS_KNUMH_COMP INDEX 1.
? ? ? ? IF SY-SUBRC = 0 AND LS_KNUMH_COMP-KNUMH_NEW IS NOT INITIAL.
? ? ? ? ? GS_RES-MSGTX = LS_KNUMH_COMP-KNUMH_NEW.
? ? ? ? ? GS_RES-Msgty? ? = 'S'.
? ? ? ? ELSE.
? ? ? ? ? IF LV_MODE EQ 'A'.
? ? ? ? ? ? IF SY-MSGTY EQ ''.
? ? ? ? ? ? ? GS_RES-MSGTX = '創(chuàng)建失敗'.
? ? ? ? ? ? ELSE.
? ? ? ? ? ? ? MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
? ? ? ? ? ? ? WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4
? ? ? ? ? ? ? INTO GS_RES-MSGTX.
? ? ? ? ? ? ENDIF.
? ? ? ? ? ? GS_RES-Msgty? ? = 'E'.
? ? ? ? ? ELSE.
? ? ? ? ? ? GS_RES-MSGTX = '修改成功'.
? ? ? ? ? ? GS_RES-Msgty? ? = 'S'.
? ? ? ? ? ENDIF.
? ? ? ? ENDIF.
? ? ? ELSE.
? ? ? ? IF SY-MSGTY EQ ''.
? ? ? ? ? GS_RES-MSGTX = '失敗'.
? ? ? ? ELSE.
? ? ? ? ? MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
? ? ? ? ? WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4
? ? ? ? ? INTO GS_RES-MSGTX.
? ? ? ? ENDIF.
? ? ? ? GS_RES-Msgty? ? = 'E'.
? ? ? ENDIF.
? ? ? APPEND GS_RES TO Gt_RES.
? ? ELSE.
? ? ? GS_RES-Msgty = 'E'.
? ? ? GS_RES-MSGTX = '該物料不存在請檢查后再傳輸'.
? ? ? APPEND GS_RES TO Gt_RES.
? ? ENDIF.
? ? CLEAR:GS_REQ.
? ENDLOOP.