一些基本的ABAP技巧

来源:互联网 发布:mysql 读写分离好处 编辑:程序博客网 时间:2024/05/09 22:56

一个字段的长度定义的时候已经足够长,但downfile的时候,却不能完全显示某个字段的内容.

   LS_FIELDCAT-FIELDNAME       = &1.

    LS_FIELDCAT-REF_TABLE       = &2.

    LS_FIELDCAT-REF_FIELD       = &3.

    LS_FIELDCATA-FIELDNAME      = &1.

    LS_FIELDCATA-REF_TABNAME    = &2.

    LS_FIELDCATA-REF_FIELDNAME  = &3.

    LS_FIELDCATA-SELTEXT_S      = &4.

    LS_FIELDCATA-SELTEXT_M      = &5.

    LS_FIELDCATA-SELTEXT_L      = &6.

    LS_FIELDCATA-REPTEXT_DDIC   = &6.

    LS_FIELDCATA-TEXT_FIELDNAME = &7.

    LS_FIELDCATA-QFIELDNAME     = &8.

    LS_FIELDCATA-HOTSPOT        = &9.

    IF LS_FIELDCAT-FIELDNAME(3) = 'AAA'.

      LS_FIELDCAT-OUTPUTLEN       = '50'.

    ENDIF.

 

 

判断库存不为空的Batch MCHBStocktable

 MCHB~CLABS > 0 AND MCHB~CINSM > 0 AND MCHB~CUMLM > 0 AND MCHB~CSPEM > 0

 

 

前面去0(一般去table中字段的0)

    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'

      EXPORTING

        INPUT  = ITAB-XXXXX

      IMPORTING

        OUTPUT = ITAB-XXXXX.

 

后面去0(一般去table中字段中的0)

CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'

 

 

删除重复数据 (类似于Collect,最好用Collect)

 SORT table BY id.

delete adjacent duplicates from table comparing ID1 ID2

 

左边去0

SHIFT DTAB-MATNR LEFT DELETING LEADING '0'.

 

 

将只要有的空格全去掉(无论是2边还是中间)

DATA: BEGIN OF NAME,

        TITLE(8)       VALUE '    Dr.',

        FIRST_NAME(10) VALUE 'Michael',

        SURNAME(10)    VALUE 'Hofmann',

      END   OF NAME.

CONDENSE NAME NO-GAPS.