根据过帐密钥掠过标题数据和项目数据

2020-08-21 01:27发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨, 如何为bdc的标头数据和...

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

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


嗨,

如何为bdc的标头数据和项目数据进行循环

我为要通过bdc上传到SAP系统的文件附加了我的excel文件。

但是,请您帮我找出该Excel文件中的标题数据和项目数据以及如何根据发布键循环标题数据和项目数据

reimb-pay-1.txt (2.6 kB)
6条回答
ZJXianG
2020-08-21 01:40

亲爱的Bhavani,

我建议您选择BAPI。 使用以下步骤和代码-对我来说这是有效的代码。 您可以根据数据集进行调整。

步骤1:声明数据

 DATA:标头TYPE bapiache09,
        客户TYPE bapiacpa09,
        docno TYPE bapiache09-obj_key,
        带标题行的bapiacgl09帐户类型标准表,
        bapiacar09会计型标准表,带标头线,
        带标题行的bapiaccr09的currencyamount类型标准表,
        带标题行的BAPIACTX09税线类型标准表,
        返回带有标题行的bapiret2的标准类型表,
        带有标题行的bapiacpc09信用卡类型标准表,
        信息类型C长度50。

 您可以这样安排和打电话。
 执行debit_entry_cc。
 进行credit_entry_cc。
 执行bapi_gl_posting_cc。
 

步骤2:填充借项

 FORM debit_entry_cc。
   数据林类型int4。
   数据saknr类型ska1-saknr。
   dr = 0。
   循环至it_finalposting_cc INTO wa_finalposting_cc。
     如果wa_finalposting_cc-bschl ='40'。
       lin = lin + 1。
       accountgl-itemno_acc = <项目编号>"这里像10,20,30等
       saknr = wa_finalposting_cc-hkont。
       通话功能" CONVERSION_EXIT_ALPHA_INPUT"
         出口
           输入= saknr
         输入
           输出= saknr。
       accountgl-gl_account = saknr。
       accountgl-comp_code ='1000'。
       accountgl-pstng_date = sy-datum。
       accountgl-doc_type = <您的文档类型>
       accountgl-item_text = <您的文本>
       accountgl-alloc_nmbr = wa_finalposting_cc-zuonr。
       通话功能" CONVERSION_EXIT_ALPHA_INPUT"
         出口
           输入= wa_finalposting_cc-kostl
         输入
           输出= wa_finalposting_cc-kostl。
       accountgl-costcenter = wa_finalposting_cc-kostl。
       APPEND帐户。
     currencyamount-itemno_acc = <项目编号>"与您上面提到的项目编号相同
       currencyamount-currency ='SAR'。
       currencyamount-amt_doccur = wa_finalposting_cc-借记卡。
       追加货币金额。
       dr = dr + wa_finalposting_cc-借记卡。
       清除:货币金额,科目。
     万一。
     清除:currencyamount,accountgl,wa_finalposting_cc。
   结局。
 ENDFORM。
 

第3步:填充贷方项

 FORM credit_entry_cc。
   数据林类型int4。
   数据saknr类型ska1-saknr。
   cr = 0。


   循环至it_finalposting_cc INTO wa_finalposting_cc。
     如果wa_finalposting_cc-bschl ='50'。
       accountgl-itemno_acc = <项目编号>"重要cr
       saknr = wa_finalposting_cc-hkont。
       通话功能" CONVERSION_EXIT_ALPHA_INPUT"
         出口
           输入= saknr
         输入
           输出= saknr。
       accountgl-gl_account = saknr。
       accountgl-comp_code ='1000'。
       accountgl-pstng_date = sy-datum。
       accountgl-doc_type = <您的文档类型>。
       accountgl-item_text = wa_finalposting_cc-sgtxt。
       通话功能" CONVERSION_EXIT_ALPHA_INPUT"
         出口
           输入= wa_finalposting_cc-kostl
         输入
           输出= wa_finalposting_cc-kostl。
       accountgl-costcenter = wa_finalposting_cc-kostl。
       accountgl-alloc_nmbr = wa_finalposting_cc-zuonr。
       APPEND帐户。
       currencyamount-itemno_acc = <项目编号>"上面提到的相同项目importatnt cr
       currencyamount-currency ='SAR'。
       "由于信用项-乘以-1
       currencyamount-amt_doccur = wa_finalposting_cc-credit * -1。
       追加货币金额。
       cr = cr + wa_finalposting_cc-credit。
       清除:货币金额,科目。
     万一。
     清除:currencyamount,accountgl,wa_finalposting_cc。
   结局。
 ENDFORM。
 

第4步:调用BAPI

 FORM bapi_gl_posting_cc。
   标头用户名= sy-uname。
   header-header_txt ='工资单过帐'。
   header-comp_code ='1000'。
   header-doc_date = sy-datum
   header-pstng_date = sy-datum
   header-doc_type = <您的文档类型在这里>。
   header-ref_doc_no ='1'。
                 "
   通话功能'BAPI_ACC_DOCUMENT_POST'
     出口
       documentheader =标头
     输入
 * OBJ_TYPE =
       obj_key = docno
 * OBJ_SYS =
     桌子
       accountgl = accountgl
 * ACCOUNTTAX =税线
       currencyamount =货币金额
 *标准=
 * VALUEFIELD =
 *扩展1 =
       return =返回。

   如果docno不是初始的并且docno NE为'$'。
     CONCATENATE'Document'docno + 0(10)'Created'到MSG中,用空格分隔。
     消息消息类型'S'像'I'一样显示。
     通话功能'BAPI_TRANSACTION_COMMIT'
       出口
         等待='X'。
   其他。
     邮件'请参阅最终发布标签..!' 输入" S",显示类似" S"。
   万一。
 ENDFORM。
 

一周热门 更多>