abap中bdc的调用
我用bdc录了一段操作主要是修改一些表的内容的但是不知道如何调用希望有高手指教屏幕操作我已经录下来了之后创建程序里面大概分为字段定义和一些操作记录貌似记录上的一些字段要修...
我用bdc录了一段操作 主要是修改一些表的内容的 但是不知道如何调用 希望有高手指教
屏幕操作我已经录下来了 之后创建程序 里面大概分为字段定义和一些操作记录 貌似记录上的一些字段要修改 而且要定义一些表 我看了别的程序有点乱 我这个是练手的任务不需要前台 直接是别的alv报表上的一个按钮按下去 这个bdc就自动执行 我想知道如何在一个程序中调用我已经弄好的bdc程序 是类似form那样的吗 具体代码是什么 展开
屏幕操作我已经录下来了 之后创建程序 里面大概分为字段定义和一些操作记录 貌似记录上的一些字段要修改 而且要定义一些表 我看了别的程序有点乱 我这个是练手的任务不需要前台 直接是别的alv报表上的一个按钮按下去 这个bdc就自动执行 我想知道如何在一个程序中调用我已经弄好的bdc程序 是类似form那样的吗 具体代码是什么 展开
4个回答
展开全部
你BDC录好屏后,可以看到对应的屏幕名称和字段名称。
参照下面代码:
PERFORM BDCDATA USING: 'X' 'SAPMKAUF' '0100', "order type
' ' 'COAS-AUART' GT_TABLE-AUART,
' ' 'BDC_OKCODE' '=KOKR'.
PERFORM BDCDATA USING: 'X' 'SAPLSPO4' '0300', "control area
' ' 'SVALD-VALUE(01)' '1000',
' ' 'BDC_OKCODE' '=FURT'.
PERFORM BDCDATA USING: 'X' 'SAPMKAUF' '0100', "ok code
' ' 'BDC_OKCODE' '/00'.
FORM BDCDATA USING P_BEGIN P_FIELD1 P_FIELD2.
CLEAR GT_BDCDATA.
CASE P_BEGIN.
WHEN 'X'.
GT_BDCDATA-PROGRAM = P_FIELD1.
GT_BDCDATA-DYNPRO = P_FIELD2.
GT_BDCDATA-DYNBEGIN = 'X'.
WHEN SPACE.
GT_BDCDATA-FNAM = P_FIELD1.
GT_BDCDATA-FVAL = P_FIELD2.
ENDCASE.
APPEND GT_BDCDATA.
ENDFORM. " BDCDATA
这个就是把你要改的所以内容都放到内表里面。然后调用函数BDC_INSERT:
CALL FUNCTION 'BDC_INSERT'
EXPORTING
TCODE = 'KO01'
TABLES
DYNPROTAB = GT_BDCDATA.
目前我在程序里也只会用这样子的。感觉录屏的作用就是为了找屏幕名和字段名的。
参照下面代码:
PERFORM BDCDATA USING: 'X' 'SAPMKAUF' '0100', "order type
' ' 'COAS-AUART' GT_TABLE-AUART,
' ' 'BDC_OKCODE' '=KOKR'.
PERFORM BDCDATA USING: 'X' 'SAPLSPO4' '0300', "control area
' ' 'SVALD-VALUE(01)' '1000',
' ' 'BDC_OKCODE' '=FURT'.
PERFORM BDCDATA USING: 'X' 'SAPMKAUF' '0100', "ok code
' ' 'BDC_OKCODE' '/00'.
FORM BDCDATA USING P_BEGIN P_FIELD1 P_FIELD2.
CLEAR GT_BDCDATA.
CASE P_BEGIN.
WHEN 'X'.
GT_BDCDATA-PROGRAM = P_FIELD1.
GT_BDCDATA-DYNPRO = P_FIELD2.
GT_BDCDATA-DYNBEGIN = 'X'.
WHEN SPACE.
GT_BDCDATA-FNAM = P_FIELD1.
GT_BDCDATA-FVAL = P_FIELD2.
ENDCASE.
APPEND GT_BDCDATA.
ENDFORM. " BDCDATA
这个就是把你要改的所以内容都放到内表里面。然后调用函数BDC_INSERT:
CALL FUNCTION 'BDC_INSERT'
EXPORTING
TCODE = 'KO01'
TABLES
DYNPROTAB = GT_BDCDATA.
目前我在程序里也只会用这样子的。感觉录屏的作用就是为了找屏幕名和字段名的。
展开全部
在录屏后生成的程序里,有自动的消息捕捉机制。
即:在call transaction ‘XXXX’ using bdc……之后,
把执行的结果返回给messtab这个Internal Table。
这个这个Internal Table里找你想要的消息。
即:在call transaction ‘XXXX’ using bdc……之后,
把执行的结果返回给messtab这个Internal Table。
这个这个Internal Table里找你想要的消息。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
shdb先录制屏幕,然后选中录好的record名字,点击program,稍稍修整一下就可以了。
这是最简单的BDC invoke的方法
这是最简单的BDC invoke的方法
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询