BDC录制大量更改采购信息记录之条件记录的选择
在录制ME12的BDC时,信息记录有多笔条件记录时,无法录制选择某一笔的动作。默认会是第一笔。此时的BDC进去修改,会把第一笔的日期进行新的更改而造成价格的错误。
在此位置按F1,可以查看条件选择窗体的GUI Status
双击DATE,可以看到支持的功能键
当我们需要针对最后一笔进行修改更改生效日期和有效期限时,如何解决?
回来我们看录制BDC时选择第三笔时“VAKE-DATAB(03)”后面会带“(03)”
PERFORM BDC_FIELD USING 'BDC_CURSOR' 'VAKE-DATAB(03)'.
把03转换成变量进行处理。
通过“ME_GET_INFORECORD_CONDITIONS”获取条件记录的笔数
CALL FUNCTION 'ME_GET_INFORECORD_CONDITIONS'
EXPORTING
……
TABLES
TEKOMD = IT_EKOMD.
DESCRIBE TABLE IT_EKOMD LINES L_LINE .
WA_INFO-L_LINE = L_LINE .
BDC处理时,对条件记录笔数进行处理,即对最后一笔条件记录进行修改。
DATA: L_NUM(2) TYPE N.
DATA: L_FIELD(14) TYPE C.
CLEAR:L_NUM,L_FIELD.
IF WA_INFO-L_LINE IS NOT INITIAL.
L_NUM = WA_INFO-L_LINE.
CONCATENATE 'VAKE-DATAB(' L_NUM ')' INTO L_FIELD IN CHARACTER MODE.
PERFORM BDC_FIELD USING 'BDC_CURSOR' L_FIELD.
ELSE.
PERFORM BDC_FIELD USING 'BDC_CURSOR' 'VAKE-DATAB(01)'.
ENDIF.