BPC导出DM程序包-更改输出文件头

2020-09-04 09:10发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


你好

我们正在使用标准的DM包"导出交易数据",并且已激活标头选项。 但是我想知道我们是否可以更改文件的标准标头(模型,用户,日期,时间)以用不同的数据填充它。

先谢谢您

此致

亚历克斯

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


你好

我们正在使用标准的DM包"导出交易数据",并且已激活标头选项。 但是我想知道我们是否可以更改文件的标准标头(模型,用户,日期,时间)以用不同的数据填充它。

先谢谢您

此致

亚历克斯

付费偷看设置
发送
9条回答
Doze时光
1楼-- · 2020-09-04 09:21

我刚刚删除了我的名字。

我正在提取主数据,但正在更改文件的格式和名称,因此撤消badis不适用于此任务。 对于自定义逻辑badis,我必须从表中选择数据,而在ujd_routine中,我只是在ir_data表中接收映射和转换的数据。

致谢!

大简至美
2楼-- · 2020-09-04 09:12

P.S。 抱歉,ROUTINE badi与您的要求有何关系????

SAP小黑
3楼-- · 2020-09-04 09:27

您好Vadim,

键入UJD_ROUTINE

完整代码是:

方法if_ujd_routine〜runroutine。

类型:
ty_ascta的开始,
cod_ctacargabal(30)c类型,
descr_ctacargabal(45)c类型,
cod_tipocta(2)c类型,
cod_ctacargabal_p(30)类型 c,
ty_ascta的结尾。

数据:lo_dataref类型REF TO数据,
lv_docname类型ujf_doc-docname,
imess类型uj0_t_message,
xmess imess行,
lv_str类型字符串,
ruta类型字符串,
is_user类型uj0_s_user,
gcl_objeto类型REF到cl_ujf_file_service_mgr,
lo_file_service_mgr类型REF到cl_ujf_file_service_mgr,
lo_exception类型s REF, > lt_ascta类型标准表ty_ascta,
ls_ascta类型ty_ascta。

数据:lv_dia(2)TYPE n,
lv_mes(2)TYPE n,
lv_ano(4)TYPE n,
lv_fecha_info(10)TYPE n,
lv_timestamp TYPE字符串,< br> tsl TYPE timestampl,
lv_3seg(3)TYPE n。

字段符号:类型标准表,
任何类型。

常量:lc_environment_id TYPE uj_appset_id VALUE'PROJECT',
lc_application_id TYPE uj_appl_id VALUE'Accounting',
lc_root_webfolders(17)TYPE c VALUE'\ ROOT \ WEBFOLDERS_data(s), tata ta c值'\ DATAMANAGER \ DATAFILES \ FILE。',
lc_formato(4)类型c值'.txt',
lc_sep(1)TYPE c值';'。

ASSIGN ir_data-> *至
创建数据lo_dataref类似于的行。
ASSIGN lo_dataref-> *至

移动到lt_ascta。

lv_ano = sy-datum(4)。
lv_mes = sy-datum + 4(2)。
lv_dia = sy-datum + 6(2)。
合并lv_ano'/'lv_mes' /'lv_dia INTO lv_fecha_info。

将lt_ascta循环到ls_ascta中。
如果sy-tabix =1。
lv_str =
lv_fecha_info && lc_sep &&"" Fecha deenvío
sy-uzeit。 "" Hora deenvío
ls_content-line = lv_str。
APPEND ls_content到lt_content。
ENDIF。

使用'&'来翻译ls_ascta-cod_ctacargabal。
使用'&'来翻译ls_ascta-descr_ctacargabal。
使用'&'来翻译ls_ascta-cod_tipocta。
翻译ls_ascta-ga'_usta_ctacargabal。 > lv_str =
ls_ascta-cod_ctacargabal && lc_sep &&
ls_ascta-descr_ctacargabal && lc_sep &&
ls_ascta-cod_tipocta && lc_sep &&
ls_ascta-co-al。 ls_content至lt_content。
ENDLOOP。

CONCATENATE lc_root_webfolders lc_environment_id'\'lc_application_id lc_datamanager_datafiles_ascta sy-datum lc_formato INTO ruta。
is_user-user_id = sy-uname。

lv_docname =芸香。

cl_ujf_file_service_mgr =>工厂(
导出
is_user = is_user
i_appset = lc_environment_id
接收
r_manager = gcl_objeto)。

尝试。
gcl_objeto-> delete_document(
导出i_docname = lv_docname)。
捕获cx_ujf_file_service_error INTO lo_exception。
ENDTRY。

尝试。
呼叫方法gcl_objeto-> put_document_data_mgr
导出
i_docname = lv_docname
i_append = abap_true
i_doc_content = lt_content。
捕获cx_ujf_file_service_error = into lo_ion。 convert_ex_to_message(lo_exception)。
如果不是imess。
读取表imess到xmess索引1。
带有xmess-message的e001(00)消息。
ENDIF。
ENDTRY。

终结法。

一周热门 更多>