9KE0导入利润中心凭证PCA_ACTUALS_POST

DATA lv_tabixTYPE sy-tabix.

DATA l_tabixTYPE sy-tabixVALUE 0.

DATA lv_countTYPE char5.

DATA gt_updateTYPE TABLE OF ty_excel.

DATA gs_updateTYPE ty_excel.

DATA wa_alv_nextTYPE  ty_excel.

DATA lt_returnTYPE TABLE OF bapiret2.

DATA ls_returnTYPE bapiret2.

"导入定义

DATA lt_glpcaTYPE TABLE OF glpca.

DATA ls_glpcaTYPE glpca.

DATA lt_documentsTYPE    pcpp_t_posting_doc.       "4.6a

DATA ls_documentsTYPE pcpp_s_posting_doc.

DATA  l_recordsTYPE p.

IF lv_flagIS INITIAL.

LOOP AT gt_alvINTO gs_alvWHERE msgIS INITIAL.

lv_tabix= sy-tabix.

"把序列号相同的数据全部放入 GT_UPDATE表

lv_count= lv_count +1 .

gs_alv-num= lv_count.

APPEND gs_alvTO gt_update.

LOOP AT gt_updateINTO gs_updateWHERE buzei= lv_count.

ls_glpca-rldnr= '8A'.

ls_glpca-rrcty= '0'.

ls_glpca-rvers= '000'.

ls_glpca-ryear= gs_update-budat+(4).

ls_glpca-drcrk= gs_update-shkzg.

ls_glpca-poper= '001'.

ls_glpca-docln= gs_update-buzei.

ls_glpca-rbukrs= gs_update-rbukrs.

ls_glpca-rprctr= gs_update-rprctr.

*        ls_glpca-rhoart = '01'.

ls_glpca-rfarea= gs_update-rfarea.

ls_glpca-kokrs= 'CN00'.

ls_glpca-racct= gs_update-racct.

*        ls_glpca-activ = 'PRC5'.

*        ls_glpca-afabe = '00'.

*        ls_glpca-shoart = '00'.

ls_glpca-ksl= gs_update-ksl..

ls_glpca-sgtxt= gs_update-sgtxt.

ls_glpca-budat= gs_update-budat.

ls_glpca-bldat= gs_update-budat.

ls_glpca-wsdat= gs_update-budat.

ls_glpca-werks= gs_update-werks.

ls_glpca-kostl= gs_update-kostl.

ls_glpca-aufnr= gs_update-aufnr.

ls_glpca-matnr= gs_update-matnr.

ls_glpca-kunnr= gs_update-kunnr.

ls_glpca-lifnr= gs_update-lifnr.

APPEND ls_glpcaTO lt_glpca.

CLEAR ls_glpca.

ENDLOOP.

lv_tabix= lv_tabix +1.

READ TABLE gt_alvINTO wa_alv_nextINDEX lv_tabix.

IF sy-subrc <>0 OR ( sy-subrc= 0 AND wa_alv_next-buzei < gs_alv-buzei).

CALL FUNCTION 'PCA_ACTUALS_POST'

EXPORTING

i_docty= 'A0'

i_batch= ''

IMPORTING

e_records= l_records

TABLES

t_glpca= lt_glpca

t_documents= lt_documents

EXCEPTIONS

posting_error= 1

OTHERS        = 2.

.

IF sy-subrc <>0.

* Implement suitable error handling here

ENDIF.

LOOP AT gt_updateINTO gs_update.

READ TABLE lt_documentsINTO ls_documentsINDEX 1.

IF ls_documents-key-docnrIS NOT INITIAL.

COMMIT WORK AND WAIT.

gs_update-msg= '导入成功:'&&'凭证' && ls_documents-key-docnr &&'过账成功'.

ELSE.

gs_update-msg= '导入失败'.

ENDIF.

APPEND gs_updateTO lt_alv.

ENDLOOP.

"读取消息返回ALV

CLEAR: lv_count,gt_update,lt_glpca,lt_documents,wa_alv_next.

ENDIF.

ENDLOOP.

CLEAR gt_alv.

APPEND LINES OF lt_alvTO gt_alv.

ELSE.

MESSAGE TEXT-e04TYPE 'S'DISPLAYLIKE 'E'.

ENDIF.

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容