Smartform不建结构传送数据方法(更新中)

在使用samrtform的时候一般都要去SE11里创建一个和要传个smartform内标一样的structure,那可不可以不建structure呢?有,现在就给大家介绍一下:

    1。在smartform的Global Definitions的type中建一个和report里内表结构相同的structure.

    如,我要传给smartform的 tabel 叫 itab 是这样的:

    data: begin of itab occurs 0,

    vbeln   like vbak-vbeln,

    posnr   like vbak-posnr,

    matnr   like vbak-matnr,

    matwa like vbak-matwa,

    charg like vbak-charg,

    vgbel like vbak-vgbel,

    vgpos like vbap-vgpos,

    end of itab.

    那么在这里就要定义一个相同的 structure :

    types: begin of l_table,

    vbeln   like vbak-vbeln,

    posnr   like vbak-posnr,

    matnr   like vbak-matnr,

    matwa like vbak-matwa,

    charg   like vbak-charg,

    vgbel   like vbak-vgbel,

    vgpos  like vbap-vgpos,

    end of l_table。

    2.在smartform的Global Data 中定义一个与刚才那个结构相同的内表

    如:

    g_table type table of l_table.

    3.这是最重要的一步了:在Initialization中定义一个FIELD-SYMBOLS,将它指向我们程序内表。

    data: field(50).

    field-symblos: <test> type any.

    field = '(ZJULIA_TEST)ITAB[]'.    "这里的ZJULIA_TEST是我的程序名称,ITAB

    "是我在程序中要传给smartform的内表

    ASSIGN (field) TO <test>.

    g_table[] = <test>.

    这样在samrtform里就可以使用这个内表了。

你可能感兴趣的:(report,table,initialization,structure,Types)