点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
表格:MLHD。 TYPE-POOLS:SLIS。 类型:开始于TY_MLHD, BELNR TYPE MLHD-BELNR,"物料分类帐凭证的编号 KJAHR TYPE MLHD-KJAHR,"物料分类帐凭证 VGART TYPE MLHD-VGART,"物料分类帐 AWTYP TYPE MLHD-AWTYP,"参考交易 AWREF TYPE MLHD-AWREF,"参考文件编号 AWORG类型MLHD-AWORG,"参考组织单位 AWSYS类型MLHD-AWSYS,"逻辑系统 STORNO TYPE MLHD-STORNO,"指示器:物料分类帐冲销凭证 UMBEW TYPE MLHD-UMBEW,"应重新评估材料 TY_MLHD结束。 类型:开始于TY_MLIT, BELNR TYPE MLIT-BELNR,"物料分类帐凭证的编号 POSNR TYPE MLIT-POSNR,"物料分类帐凭证中的项目 URZEILE TYPE MLIT-URZEILE,"物料或发票凭证中的原始物料 MATNR TYPE MLIT-MATNR,"材料编号 BWTAR TYPE MLIT-BWTAR,"评估类型 BWKEY TYPE MLIT-BWKEY,"评估区域 KALNR TYPE MLIT-KALNR,"没有数量结构的成本估算的成本估算编号 MEINS TYPE MLIT-MEINS,"物料评估的计量单位 SPART TYPE MLIT-SPART,"部门 TY_MLIT结束。 类型:开始于TY_MLCR, BELNR TYPE MLCR-BELNR,"物料分类帐凭证的编号 BDATJ TYPE MLCR-BDATJ,"发布日期YYYY 纸型MLCR-POPER,"过帐期间 CURTP TYPE MLCR-CURTP,"货币类型和评估视图 WAERS TYPE MLCR-WAERS,"货币密钥 SALK3 TYPE MLCR-SALK3,"总评估存货变化的金额 SALKV TYPE MLCR-SALKV,"总评估库存(信息)的变化量 PEINH TYPE MLCR-PEINH,"价格单位 TY_MLCR结束。 类型:开始于TY_MLPP, BELNR TYPE MLPP-BELNR,"物料分类帐凭证的编号 BUDAT类型MLPP-BUDAT,"文档中的过帐日期 PERART TYPE MLPP-PERART,"期间类型 LBKUM TYPE MLPP-LBKUM,"总估价库存发生变化的数量 UNTPER TYPE MLPP-UNTPER,"值结构类型 BKLAS TYPE MLPP-BKLAS,"评估等级 MODIF TYPE MLPP-MODIF,"物料清单项目的类型 TY_MLPP结束。 数据:WA_MLHD TYPE TY_MLHD, WA_MLIT TYPE TY_MLIT, WA_MLCR TYPE TY_MLCR, WA_MLPP类型TY_MLPP。 数据:TY_MLHD的IT_MLHD类型表, TY_MLIT的IT_MLIT类型表, TY_MLCR的IT_MLCR类型表, TY_MLPP的IT_MLPP类型表。 数据:WA_FCAT类型SLIS_FIELDCAT_ALV, IT_FCAT类型SLIS_T_FIELDCAT_ALV, IT_SORT类型SLIS_T_SORTINFO_ALV。 数据:WA_LAYOUT类型SLIS_LAYOUT_ALV。 数据:WA_KEY TYPE SLIS_KEYINFO_ALV。 B1块的选择屏幕开始。 选择选项:S_BELNR用于MLHD-BELNR。 B1块的选择屏幕结束。 选择开始。 选择贝纳 贾哈尔 VGART AWTYP AWREF 奥沃格 预警系统 斯托诺 从MLHD到表IT_MLHD的UMBEW S_BELNR中的BELNR。 如果SY-SUBRC EQ 0。 排序IT_MLHD由BELNR。 从IT_MLHD比较BELNR中删除相邻的重复项。 其他。 消息"无数据"类型" I"。 万一。 如果IT_MLHD不是INITIAL。 选择贝纳 信噪比 URZEILE 玛特尔 BWTAR 密码键 卡纳尔 面 从MLIT到表IT_MLIT的SPART 对于IT_MLHD中的所有条目 BELNR = IT_MLHD-BELNR。 如果SY-SUBRC EQ 0。 BELNR对IT_MLIT进行排序。 万一。 选择贝纳 BDATJ 纸 柯尔特 韦尔斯 SALK3 萨尔科夫 从MLCR插入表IT_MLCR 对于IT_MLHD中的所有条目 BELNR = IT_MLHD-BELNR。 如果SY-SUBRC EQ 0。 排序IT_MLCR由BELNR。 万一。 选择贝纳 布达 佩拉特 LBKUM T BKLAS 从MLPP修改到表IT_MLPP 对于IT_MLHD中的所有条目 BELNR = IT_MLHD-BELNR。 如果SY-SUBRC EQ 0。 BELNR排序IT_MLPP。 万一。 万一。 数据:COL_POS TYPEI。 清除:WA_FCAT。 向COL_POS添加1。 WA_FCAT-COL_POS = COL_POS。 WA_FCAT-FIELDNAME ='BELNR'。 WA_FCAT-TABNAME ='IT_MLHD'。 WA_FCAT-SELTEXT_L ='物料分类帐凭证编号'。 将WA_FCAT附加到IT_FCAT。 清除:WA_FCAT。 向COL_POS添加1。 WA_FCAT-COL_POS = COL_POS。 WA_FCAT-FIELDNAME ='KJAHR'。 WA_FCAT-TABNAME ='IT_MLHD'。 WA_FCAT-SELTEXT_M ='物料分类帐凭证'。 将WA_FCAT附加到IT_FCAT。 清除:WA_FCAT。 向COL_POS添加1。 WA_FCAT-COL_POS = COL_POS。 WA_FCAT-FIELDNAME ='VGART'。 WA_FCAT-TABNAME ='IT_MLHD'。 WA_FCAT-SELTEXT_M ='物料分类帐'。 将WA_FCAT附加到IT_FCAT。 清除:WA_FCAT。 向COL_POS添加1。 WA_FCAT-COL_POS = COL_POS。 WA_FCAT-FIELDNAME ='AWTYP'。 WA_FCAT-TABNAME ='IT_MLHD'。 WA_FCAT-SELTEXT_M ='参考交易'。 将WA_FCAT附加到IT_FCAT。 清除:WA_FCAT。 向COL_POS添加1。 WA_FCAT-COL_POS = COL_POS。 WA_FCAT-FIELDNAME ='AWREF'。 WA_FCAT-TABNAME ='IT_MLHD'。 WA_FCAT-SELTEXT_M ='参考文件编号'。 将WA_FCAT附加到IT_FCAT。 清除:WA_FCAT。 向COL_POS添加1。 WA_FCAT-COL_POS = COL_POS。 WA_FCAT-FIELDNAME ='AWORG'。 WA_FCAT-TABNAME ='IT_MLHD'。 WA_FCAT-SELTEXT_M ='参考组织单位'。 将WA_FCAT附加到IT_FCAT。 清除:WA_FCAT。 向COL_POS添加1。 WA_FCAT-COL_POS = COL_POS。 WA_FCAT-FIELDNAME ='AWSYS'。 WA_FCAT-TABNAME ='IT_MLHD'。 WA_FCAT-SELTEXT_M ='逻辑系统'。 将WA_FCAT附加到IT_FCAT。 清除:WA_FCAT。 向COL_POS添加1。 WA_FCAT-COL_POS = COL_POS。 WA_FCAT-FIELDNAME ='STORNO'。 WA_FCAT-TABNAME ='IT_MLHD'。 WA_FCAT-SELTEXT_L ='指标:物料分类帐冲销凭证'。 将WA_FCAT附加到IT_FCAT。 清除:WA_FCAT。 向COL_POS添加1。 WA_FCAT-COL_POS = COL_POS。 WA_FCAT-FIELDNAME ='UMBEW'。 WA_FCAT-TABNAME ='IT_MLHD'。 WA_FCAT-SELTEXT_M ='应重新评估材料'。 将WA_FCAT附加到IT_FCAT。 清除:WA_FCAT。 向COL_POS添加1。 WA_FCAT-COL_POS = COL_POS。 WA_FCAT-FIELDNAME ='POSNR'。 WA_FCAT-TABNAME ='IT_MLIT'。 WA_FCAT-SELTEXT_L ='物料分类帐凭证中的项目'。 将WA_FCAT附加到IT_FCAT。 清除:WA_FCAT。 向COL_POS添加1。 WA_FCAT-COL_POS = COL_POS。 WA_FCAT-FIELDNAME ='URZEILE'。 WA_FCAT-TABNAME ='IT_MLIT'。 WA_FCAT-SELTEXT_L ='物料或发票凭证中的原始物料'。 将WA_FCAT附加到IT_FCAT。 清除:WA_FCAT。 向COL_POS添加1。 WA_FCAT-COL_POS = COL_POS。 WA_FCAT-FIELDNAME ='MATNR'。 WA_FCAT-TABNAME ='IT_MLIT'。 WA_FCAT-SELTEXT_M ='物料号'。 将WA_FCAT附加到IT_FCAT。 清除:WA_FCAT。 向COL_POS添加1。 WA_FCAT-COL_POS = COL_POS。 WA_FCAT-FIELDNAME ='BWTAR'。 WA_FCAT-TABNAME ='IT_MLIT'。 WA_FCAT-SELTEXT_M ='评估类型'。 将WA_FCAT附加到IT_FCAT。 清除:WA_FCAT。 向COL_POS添加1。 WA_FCAT-COL_POS = COL_POS。 WA_FCAT-FIELDNAME ='BWKEY'。 WA_FCAT-TABNAME ='IT_MLIT'。 WA_FCAT-SELTEXT_M ='评估区域'。 将WA_FCAT附加到IT_FCAT。 清除:WA_FCAT。 向COL_POS添加1。 WA_FCAT-COL_POS = COL_POS。 WA_FCAT-FIELDNAME ='KALNR'。 WA_FCAT-TABNAME ='IT_MLIT'。 WA_FCAT-SELTEXT_L ='成本估算的成本估算编号。 没有数量结构"。 将WA_FCAT附加到IT_FCAT。 清除:WA_FCAT。 向COL_POS添加1。 WA_FCAT-COL_POS = COL_POS。 WA_FCAT-FIELDNAME ='MEINS'。 WA_FCAT-TABNAME ='IT_MLIT'。 WA_FCAT-SELTEXT_L ='物料评估的计量单位'。 将WA_FCAT附加到IT_FCAT。 清除:WA_FCAT。 向COL_POS添加1。 WA_FCAT-COL_POS = COL_POS。 WA_FCAT-FIELDNAME ='SPART'。 WA_FCAT-TABNAME ='IT_MLIT'。 WA_FCAT-SELTEXT_M ='分区'。 将WA_FCAT附加到IT_FCAT。 清除:WA_FCAT。 向COL_POS添加1。 WA_FCAT-COL_POS = COL_POS。 WA_FCAT-FIELDNAME ='BDATJ'。 WA_FCAT-TABNAME ='IT_MLCR'。 WA_FCAT-SELTEXT_M ='发布日期YYYY'。 将WA_FCAT附加到IT_FCAT。 清除:WA_FCAT。 向COL_POS添加1。 WA_FCAT-COL_POS = COL_POS。 WA_FCAT-FIELDNAME ='POPER'。 WA_FCAT-TABNAME ='IT_MLCR'。 WA_FCAT-SELTEXT_M ='发布期间'。 将WA_FCAT附加到IT_FCAT。 清除:WA_FCAT。 向COL_POS添加1。 WA_FCAT-COL_POS = COL_POS。 WA_FCAT-FIELDNAME ='CURTP'。 WA_FCAT-TABNAME ='IT_MLCR'。 WA_FCAT-SELTEXT_L ='货币类型和评估视图'。 将WA_FCAT附加到IT_FCAT。 清除:WA_FCAT。 向COL_POS添加1。 WA_FCAT-COL_POS = COL_POS。 WA_FCAT-FIELDNAME ='WAERS'。 WA_FCAT-TABNAME ='IT_MLCR'。 WA_FCAT-SELTEXT_M ='货币密钥'。 将WA_FCAT附加到IT_FCAT。 清除:WA_FCAT。 向COL_POS添加1。 WA_FCAT-COL_POS = COL_POS。 WA_FCAT-FIELDNAME ='SALK3'。 WA_FCAT-TABNAME ='IT_MLCR'。 WA_FCAT-SELTEXT_L ='总评估存货变化的金额'。 将WA_FCAT附加到IT_FCAT。 清除:WA_FCAT。 向COL_POS添加1。 WA_FCAT-COL_POS = COL_POS。 WA_FCAT-FIELDNAME ='SALKV'。 WA_FCAT-TABNAME ='IT_MLCR'。 WA_FCAT-SELTEXT_L ='总评估库存(信息)的更改量'。 将WA_FCAT附加到IT_FCAT。 清除:WA_FCAT。 向COL_POS添加1。 WA_FCAT-COL_POS = COL_POS。 WA_FCAT-FIELDNAME ='PEINH'。 WA_FCAT-TABNAME ='IT_MLCR'。 WA_FCAT-SELTEXT_M ='价格单位'。 将WA_FCAT附加到IT_FCAT。 清除:WA_FCAT。 向COL_POS添加1。 WA_FCAT-COL_POS = COL_POS。 WA_FCAT-FIELDNAME ='BUDAT'。 WA_FCAT-TABNAME ='IT_MLPP'。 WA_FCAT-SELTEXT_M ='文档中的过帐日期'。 将WA_FCAT附加到IT_FCAT。 清除:WA_FCAT。 向COL_POS添加1。 WA_FCAT-COL_POS = COL_POS。 WA_FCAT-FIELDNAME ='PERART'。 WA_FCAT-TABNAME ='IT_MLPP'。 WA_FCAT-SELTEXT_M ='期间类型'。 将WA_FCAT附加到IT_FCAT。 清除:WA_FCAT。 向COL_POS添加1。 WA_FCAT-COL_POS = COL_POS。 WA_FCAT-FIELDNAME ='LBKUM'。 WA_FCAT-TABNAME ='IT_MLPP'。 WA_FCAT-SELTEXT_L ='总估价库存发生变化的数量'。 将WA_FCAT附加到IT_FCAT。 清除:WA_FCAT。 向COL_POS添加1。 WA_FCAT-COL_POS = COL_POS。 WA_FCAT-FIELDNAME ='UNTPER'。 WA_FCAT-TABNAME ='IT_MLPP'。 WA_FCAT-SELTEXT_M ='值结构类型'。 将WA_FCAT附加到IT_FCAT。 清除:WA_FCAT。 向COL_POS添加1。 WA_FCAT-COL_POS = COL_POS。 WA_FCAT-FIELDNAME ='BKLAS'。 WA_FCAT-TABNAME ='IT_MLPP'。 WA_FCAT-SELTEXT_M ='评估类别'。 将WA_FCAT附加到IT_FCAT。 清除:WA_FCAT。 向COL_POS添加1。 WA_FCAT-COL_POS = COL_POS。 WA_FCAT-FIELDNAME ='MODIF'。 WA_FCAT-TABNAME ='IT_MLPP'。 WA_FCAT-SELTEXT_M ='物料清单项目的类型'。 将WA_FCAT附加到IT_FCAT。 WA_KEY-HEADER01 ='BELNR'。 WA_KEY-ITEM01 ='BELNR'。 通话功能'REUSE_ALV_HIERSEQ_LIST_DISPLAY' 出口 I_INTERFACE_CHECK ='X' I_CALLBACK_PROGRAM = SY-REPID * I_CALLBACK_PF_STATUS_SET ='' * I_CALLBACK_USER_COMMAND ='' IS_LAYOUT = WA_LAYOUT IT_FIELDCAT = IT_FCAT * IT_EXCLUDING = * IT_SPECIAL_GROUPS = * IT_SORT = IT_SORT * IT_FILTER = * IS_SEL_HIDE = * I_SCREEN_START_COLUMN = 0 * I_SCREEN_START_LINE = 0 * I_SCREEN_END_COLUMN = 0 * I_SCREEN_END_LINE = 0 I_DEFAULT ='X' I_SAVE ='' * IS_VARIANT = * IT_EVENTS = * IT_EVENT_EXIT = I_TABNAME_HEADER ='IT_MLHD' I_TABNAME_ITEM ='IT_MLIT' * I_STRUCTURE_NAME_HEADER = * I_STRUCTURE_NAME_ITEM = IS_KEYINFO = WA_KEY * IS_PRINT = * IS_REPREP_ID = * I_BYPASSING_BUFFER = * I_BUFFER_ACTIVE = * IR_SALV_HIERSEQ_ADAPTER = * IT_EXCEPT_QINFO = * I_SUPPRESS_EMPTY_DATA = ABAP_FALSE *重要 * E_EXIT_CAUSED_BY_CALLER = * ES_EXIT_CAUSED_BY_USER = 桌子 T_OUTTAB_HEADER = IT_MLHD T_OUTTAB_ITEM = IT_MLIT 例外情况 PROGRAM_ERROR = 1 其他= 2 。 如果SY-SUBRC <> 0。 *在这里实施适当的错误处理 万一。
您使用了I_INTERFACE_CHECK,因此在短暂转储之前,您会收到以下错误消息:
此 错误导致短时间转储。
您的错误是您错误地认为REUSE_ALV_HIERSEQ_LIST_DISPLAY可以显示两个以上的内部表。 您只能显示2个内部表(当前已选择IT_MLHD和IT_MLIT),因此您不能在字段目录中输入其他内部表的字段。
解决方法:在调用之前将多个内部表合并为一个 REUSE_ALV_HIERSEQ_LIST_DISPLAY。
SY-REPID不会在"发生任何事件后"赋值,它是一个常数,随时都有相同的值。 当它用作参数时,不会再有任何问题了。 请参见此处,并注意 325403-SY-REPID作为实际参数的说明。
# p#我可以看到您的程序至少有一个问题,即以下片段
请参见,仅在调用REUSE_ALV_HIERSEQ_LIST_DISPLAY之后,才会对SY-REPID系统常数进行赋值。 因此它将显示SAPLSALV,即SALV功能组的主程序。 它不会显示程序的名称!
如果要将报告的名称传递给REUSE_ALV_HIERSEQ_LIST_DISPLAY,您应该使用:
还要确保正确构建字段目录。 您可以考虑使用REUSE_ALV_FIELDCATALOG_MERGE函数,而不是手动构建字段目录。
最诚挚的问候
Dominik Tylczynski
一周热门 更多>