点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
专家们,
我维护了结算计划的开始日期,并在excel文件中进行了联系。 我只能使用此上传文件来更新帐单计划的开始日期,但是在VA42中,结算日期和"截止日期"没有被修改为帐单计划的开始日期。
我使用了许多BAPI,但没有运气:(
文件:
合同否开票计划日期052 *********** 2018042018
051 *********** 2018062018
源代码:
参数:p_fname1类型的本地文件。
表格:fpla。
数据:lv_posnr类型的vbap-posnr。
数据:ifplt发生的开始10。
包含结构fpltvb。
数据: ifplt的结尾。
**订单项目行的内部表
数据:itab_item_lines的开始OCCURS10。
包含结构av03r。
数据:itab_item_lines的结尾。
数据:alsmex_tabline初始大小为0的it_data类型表,
is_data alsmex_tabline初始类型。
类型:ty_excel的开始,
zzcontract类型zzc4c_contract," SAP-联系电话
afdat类型fkdat 计费索引和打印输出的计费日期
ty_excel的结束日期,
tt_excel ty_excel的类型表。
DATA:p_ifname TYPE rlgrap-文件名,
lv_count TYPE i,
lv_tabix TYPE sy -index。
"销售文档:抬头数据
类型:ty_vbak的开头,
vbeln TYPE vbeln_va,"销售文档
vbtyp TYPE vbtyp," SD文档类别
结束于 ty_vbak。
TYPES:ty_final的开始,
vbeln TYPE vbeln,"销售文档" ment
afdat类型fkdat,
ty_final结束。
**表和工作区声明
数据:lt_vbak类型ty_vbak类型表,
gs_vbak类型ty_vbak类型,
lt_final类型 ty_final表,
ls_final类型ty_final。
*如果输入文件名不是初始的。
在p_fname1的值请求上选择屏幕。
调用函数'F4_FILENAME '
*导出
*程序名称= SYST-CPROG
* DYNPRO_NUMBER = SYST-DYNNR
* FIELD_NAME =''
导入
文件名= p_fname1。
-OF-SELECTION。
p_ifname = p_fname1。
如果不是p_ifname是INITIAL。
*将EXCEL数据上传到内部表中
CALL FUNCTION'ALSM_EXCEL_TO_INTERNAL_TABLE'
EXPORTING
文件名 = p_ifname
i_begin_col ='1'
i_begin_row ='1'
i_end_col ='20'
i_end_row ='100000'
表格
实习生= it_data
例外情况
>不一致的参数= 1
upload_ole = 2
其他=3。
如果sy-subrc <>0。
消息ID sy-msgid类型sy-msgty NUMBER sy -msgno
与sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4。
ENDIF。
ENDIF。
*如果没有it_data,则将EXCEL数据附加到内部表
中 INITIAL。
遍历it_data INTO is_data。
如果is_data行NE'0001'。
在新行。
清除ls_final。
ENDAT。
案例is_data-col。< br>何时'001'。
将is_data-value移至ls_final-vbeln。
何时'002'。
MOVE _is_data-value移至ls_final-afdat。
结束。
结束于
APPEND ls_final至lt_final。
ENDAT。
ENDIF。
CLEAR:is_data。
ENDLOOP。
ENDIF。
**检查合同编号是否为
IF lt_final不是INITIAL时。
SORT lt_final BY vbeln。
**选择VBAK
SELECT vbeln"合同编号
vbtyp
从vbak
插入表lt_vbak
中lt_final
中的所有条目vbeln = lt_final-vbeln
并且vbtyp ='G'。
ENDIF。
**排除 如果不存在,则收缩。
在lt_final上循环到ls_final。
lv_tabix = sy -tabix。
调用功能'CONVERSION_EXIT_ALPHA_INPUT'
导出
输入= ls_final-vbeln
导入
输出= ls_final-vbeln。
用键vbeln = ls_final读取表lt_vbak -vbeln
传输任何字段。
如果sy-subrc NE0。
删除lt_final索引lv_tabix。
ENDIF。
ENDLOOP。
**已声明的工作区 帐单计划表
DATA:ls_zfpla_old LIKE fplavb,
ls_zfpla2_new LIKE fplavb,
ls_zfplt_old LIKE fpltvb,
ls_zfplt2_new LIKE fpltvb,
ls_ifpltp 。 lt_zfpla_old fplavb的类型表,
lt_zfpla2_new fplavb的类型表,
lt_zfplt_old fpltvb的类型表,
lt_zfplt2_new fpltvb的类型表,
_b,
> vbeln TYPE vbeln,
posnr TYPE posnr,
fplnr TYPE fplnr,
ty_vbkd的结尾,
ty_fpla的开始,
fplnr TYPE fplnr的类型,
bedat TYPE bedat_fp,
endat TYPE endat_fp,
vbeln TYPE vbeln,
ty_fpla的结尾。
DATA:ls_vbkd TYPE ty_vbkd,
ty_vbkd的lt_vbkd类型表,
ty_vbkd的lt_vbkd_item类型表,
ls_fpla ty_fpla类型表,
lt_fpla ty_fpla类型表。
K
如果lt_final不是初始的。
从vbkd
中选择vbeln
posnr
fplnr
进入表lt_vbkd
中的所有条目 lt_final
在哪里vbeln均衡器lt_final-vbeln
和posnr均衡器空间。
ENDIF。
***选择FPLA
*要获取基于VBKD
的开票凭证编号 如果lt_vbkd不初始。
从fpla
任何人请对此查询提供帮助。
一周热门 更多>