四川电力SAPSEPC_ERP试点阶段_技术书_FICO_ZFIR0006 科目余额汇总表_V1
四川电力SAPSEPC_ERP试点阶段_技术书
_FICO_ZFIR0006 科目余额汇总表_V1
四川省电力公司
企业资源管理ERP系统实施项目
技术设计说明书
第一部分:基本信息
生成新的版本后,以下内容要相应改动
开发类型 增强 接口 单据
技术工具 Enhancement User Exit BAdI DialogInteractive list
ABAP OO Function group RFCBAPI functionExecutive ProgramBDCTable Contents Modification
Server file Local file
SAPScriptSmartforms Output-only List
模块 FICO
开发机及集团 D191 /client 110 事务代码 ZFIR0006
程序ID ZFIR0006
程序名称 ZFIR0006
功能设计者 李文举
技术设计者 于东辉
ABAP程序员 于东辉
第二部分: 设计书维护记录更新日期 更新人员 简要说明第三部分: 技术
描述
3.1业务需求描述 财务部报表查询专责,查询科目余额汇总表.
3.2技术解决方案从总帐: 总计FAGLFLEXT中筛选满足会计期间,会计年度,公司代码的数据,同时连表skat找到描述筛选数据。
科目:取FAGLFLEXT-RACCT,按科目的4-2-2-2的分级一次排列。
科目描述:取SKAT- TXT20,
如:一级科目:2221 应交税费
二级科目:222101应交税费-应交增值税
三级科目: 22210101 应交税费-应交增值税-进项税额
四级科目:2221010101应交税费-应交增值税-进项税额-材料
期初余额,即查询初始月份的月初余额。取FAGLFLEXT?HSLVT加FAGLFLEXT?HSLnn借贷合计。nn为查询初始月份减1.
例:如查询月份为3月份,则查询科目的期初余额为FAGLFLEXT?HSLVT+FAGLFLEXT?HSL01+ FAGLFLEXT?HSL02 如查询月份为期间3到6月份,那么查询科目的期初余额为FAGLFLEXT?HSLVT+FAGLFLEXT?HSL01+
FAGLFLEXT?HSL02
借贷发生额,分别显示查询月份期间的借方金额、贷方金额的合计值。根据FAGLFLEXT?DRCRK取FAGLFLEXT?HSL**合计。
例:查询月份为单值如3月,则借贷发生额为查询科目的3月的借贷发生额的合计,
查询月份为区间如3到5月份,则借贷发生额为查询科目的3、4、5月份
的借贷发生额的合计。
期末余额:从本年一月份至查询终止月份的余额累计值计算得出。取
FAGLFLEXT?HSLVT加FAGLFLEXT?HSL**合计。
最后逐级汇总
3.3 系统简单架构图 如果是空没有数据
如果非空有数据
如果是空没有数据第四部分:程序逻辑描述?将主要代码功能描述清
楚,SELECT DISTINCT skb1~saknr skat~txt50 faglflext~ryear t001~waers FROM skb1 INNER JOIN skatON skat~saknr skb1~saknr INNER JOIN faglflext ON faglflext~rbukrs skb1~bukrsAND faglflext~racct skb1~saknr INNER JOIN t001ON t001~bukrs skb1~bukrs INTO CORRESPONDING FIELDS OF TABLE itab WHERE skb1~bukrs '1900'AND skat~spras sy-languAND faglflext~rbukrs '1900'AND faglflext~prctr IN s_prctrAND faglflext~ryear p_ryearAND faglflext~racct IN s_racct.
* AND faglflext~rp IN p_rp IF itab[] IS INITIALMESSAGE s000 WITH '没有符合选择条件的数据'STOP ENDIF LOOP AT itab INTO itab_wa_lCLEAR: itab_fag,itab_fa"利润中心 SELECT
faglflext~racctfaglflext~rbukrsfaglflext~prctrfaglflext~hslvtfaglflext~drcrkfaglflext~hsl01faglflext~hsl02faglflext~hsl03faglflext~hsl04faglflext~hsl05faglflext~hsl06faglflext~hsl07faglflext~hsl08faglflext~hsl09faglflext~hsl10faglflext~hsl11faglflext~hsl12faglflext~hsl13faglf
lext~hsl14faglflext~hsl15faglflext~hsl16 FROM faglflext INTO CORRESPONDING FIELDS OF TABLE itab_fagWHERE faglflext~ryear itab_wa_l-ryear ANDfaglflext~rbukrs '1900'ANDfaglflext~rldnr 'OL'ANDfaglflext~racct itab_wa_l-saknr ANDfaglflext~prctr IN s_prctrLOOP AT itab_fag INTO itab_fa IF s_rp-low '01' AND s_rp-high IS INITIAL itab_wa_l-openingbalance itab_wa_l-openingbalance + itab_fa-hslvt IF itab_fa-drcrk 'S' itab_wa_l-ldmbtr
itab_wa_l-ldmbtr + itab_fa-hslvt + itab_fa-hsl01 ELSEIF itab_fa-drcrk 'H' itab_wa_l-bdmbtr itab_wa_l-bdmbtr + itab_fa-hslvt + itab_fa-hsl01 ENDIF.
Endif LOOP AT gt_itab_1 INTO gw_itab_1CLEAR lw_lengthCLEAR gw_zfi0006_1READ TABLE gt_zfi0006_1 INTO gw_zfi0006_1 WITH KEY saknr gw_itab_1-saknr BINARY SEARCH.
*- 找自建表最底层科目例如:1001010101 IF gw_zfi0006_1-saknr IS
NOT INITIAL itab-openingbalance gw_itab_1-openingbalance itab-endingbalance gw_itab_1-endingbalance itab-saknr gw_zfi0006_1-saknr.
*-- 查找改科目的描述前进行ALPHA转换 CALL FUNCTION
'CONVERSION_EXIT_ALPHA_INPUT'EXPORTING input
gw_zfi0006_1-saknrIMPORTING output gw_zfi0006_1-saknr.
*- 获取科目描述 CLEAR gw_zfi0006_1_txt SELECT SINGLE saknr txt50 saknr_fFROM zfi0006_1INTO
gw_zfi0006_1_txt-saknr,gw_zfi0006_1_txt-txt50,gw_zfi0006_1_txt-saknr_f WHERE saknr gw_zfi0006_1-saknr.
*- 如果在自建表中没有对应的科目描述,则查找SKAT中的科目描述 IF
sy-subrc 0 itab-txt50 gw_zfi0006_1_txt-txt50 ELSE CLEAR gw_skat SELECT SINGLE skat~saknr skat~txt50 skat~spras FROM skat INTO gw_skat-saknr,gw_skat-txt50,gw_skat-spras WHERE saknr
gw_zfi0006_1-saknr IF sy-subrc 0itab-txt50 gw_skat-txt50 ENDIF ENDIF itab-bukrs gw_itab_1-bukrs itab-butxt gw_itab_1-butxt itab-ldmbtr gw_itab_1-ldmbtr itab-bdmbtr gw_itab_1-bdmbtr itab-cdmbtr gw_itab_1-cdmbtr COLLECT itab CLEAR itab.
*--当最底层科目已经查找到后,取查它对应的父级科目(四层) CALL
FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'EXPORTING input gw_zfi0006_1-saknrIMPORTING output gw_zfi0006_1-saknr CLEAR gw_zfi0006_2-saknr_f SELECT SINGLE saknr_fFROM zfi0006_1INTO gw_zfi0006_2-saknr_f WHERE saknr gw_zfi0006_1-saknr IF gw_zfi0006_2-saknr_f IS NOT INITIAL itab-openingbalance gw_itab_1-openingbalance itab-endingbalance gw_itab_1-endingbalance itab-saknr gw_zfi0006_2-saknr_f CALL FUNCTION
'CONVERSION_EXIT_ALPHA_INPUT' EXPORTING input gw_zfi0006_2-saknr_f IMPORTING output gw_zfi0006_2-saknr_f CLEAR gw_zfi0006_2_txt SELECT SINGLE saknr txt50 saknr_f FROM zfi0006_1 INTO
gw_zfi0006_2_txt-saknr,gw_zfi0006_2_txt-txt50,gw_zfi0006_2_txt-saknr_
f WHERE saknr gw_zfi0006_2-saknr_f IF sy-subrc 0itab-txt50 gw_zfi0006_2_txt-txt50 ELSECLEAR gw_skatSELECT
SINGLEskat~saknrskat~txt50skat~spras FROM skat INTO
gw_skat-saknr,gw_skat-txt50,gw_skat-sprasWHERE saknr gw_zfi0006_2-saknr_fIF sy-subrc 0 itab-txt50 gw_skat-txt50ENDIF ENDIF itab-bukrs gw_itab_1-bukrs itab-butxt gw_itab_1-butxt itab-ldmbtr gw_itab_1-ldmbtr itab-bdmbtr gw_itab_1-bdmbtr itab-cdmbtr gw_itab_1-cdmbtr COLLECT itab CLEAR itab.
*-- 查找第三层CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT' EXPORTING input gw_zfi0006_2-saknr_f IMPORTING output gw_zfi0006_2-saknr_f CLEAR gw_zfi0006_3-saknr_f SELECT SINGLE saknr_f FROM zfi0006_1 INTO gw_zfi0006_3-saknr_f WHERE saknr gw_zfi0006_2-saknr_f IF gw_zfi0006_3-saknr_f IS NOT
INITIALitab-openingbalance
gw_itab_1-openingbalanceitab-endingbalance
gw_itab_1-endingbalanceitab-saknr gw_zfi0006_3-saknr_f CLEAR gw_zfi0006_3_txtCALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT' EXPORTINGinput gw_zfi0006_3-saknr_f IMPORTINGoutput gw_zfi0006_3-saknr_fSELECT SINGLEsaknrtxt50saknr_f FROM zfi0006_1 INTO gw_zfi0006_3_txt-saknr, gw_zfi0006_3_txt-txt50,
gw_zfi0006_3_txt-saknr_fWHERE saknr gw_zfi0006_3-saknr_fIF sy-subrc 0 itab-txt50 gw_zfi0006_3_txt-txt50ELSE CALL FUNCTION
'CONVERSION_EXIT_ALPHA_INPUT'EXPORTING input
gw_zfi0006_3-saknr_fIMPORTING output gw_zfi0006_3-saknr_f CLEAR gw_skat SELECT SINGLE skat~saknr skat~txt50 skat~sprasFROM skatINTO gw_skat-saknr,gw_skat-txt50,gw_skat-spras WHERE saknr gw_zfi0006_3-saknr_f IF sy-subrc 0 itab-txt50 gw_skat-txt50 ENDIFENDIFitab-bukrs gw_itab_1-bukrsitab-butxt
gw_itab_1-butxtitab-ldmbtr gw_itab_1-ldmbtritab-bdmbtr gw_itab_1-bdmbtritab-cdmbtr gw_itab_1-cdmbtrCOLLECT itabCLEAR itab.
*-- 查找二层科目 CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT' EXPORTINGinput gw_zfi0006_3-saknr_f IMPORTINGoutput gw_zfi0006_3-saknr_fCLEAR gw_zfi0006_4-saknr_fSELECT SINGLE saknr_f FROM zfi0006_1 INTO gw_zfi0006_4-saknr_fWHERE saknr
gw_zfi0006_3-saknr_f IF gw_zfi0006_4-saknr_f IS NOT INITIAL itab-openingbalance gw_itab_1-openingbalance itab-endingbalance gw_itab_1-endingbalance itab-saknr gw_zfi0006_4-saknr_fCALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'EXPORTING input gw_zfi0006_4-saknr_fIMPORTING output gw_zfi0006_4-saknr_f CLEAR gw_zfi0006_4_txt SELECT SINGLE saknr txt50 saknr_fFROM zfi0006_1INTO
gw_zfi0006_4_txt-saknr,gw_zfi0006_4_txt-txt50,gw_zfi0006_4_txt-saknr_f WHERE saknr gw_zfi0006_4-saknr_fIF sy-subrc 0 itab-txt50 gw_zfi0006_4_txt-txt50 ELSE CALL FUNCTION
'CONVERSION_EXIT_ALPHA_INPUT' EXPORTING input gw_zfi0006_4-saknr_f IMPORTING output gw_zfi0006_4-saknr_f CLEAR gw_skat SELECT SINGLE skat~saknr skat~txt50 skat~spras FROM skat INTO
gw_skat-saknr,gw_skat-txt50,gw_skat-spras WHERE saknr
gw_zfi0006_4-saknr_f IF sy-subrc 0itab-txt50 gw_skat-txt50 ENDIF ENDIF itab-bukrs gw_itab_1-bukrs itab-butxt gw_itab_1-butxt.
*itab-go1 gw_itab_1-go1 itab-ldmbtr gw_itab_1-ldmbtr itab-bdmbtr gw_itab_1-bdmbtr itab-cdmbtr gw_itab_1-cdmbtr.
*itab-go2 gw_itab_1-go2 COLLECT itab CLEAR itabENDIF ENDIF ENDIF itab-openingbalance gw_itab_1-openingbalance
itab-endingbalance gw_itab_1-endingbalance itab-saknr gw_itab_1-saknr CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'EXPORTING input gw_itab_1-saknrIMPORTING output gw_itab_1-saknr CLEAR gw_zfi0006_6_txt SELECT SINGLE saknr txt50 saknr_fFROM zfi0006_1INTO
gw_zfi0006_6_txt-saknr,gw_zfi0006_6_txt-txt50,gw_zfi0006_6_txt-saknr_f WHERE saknr gw_itab_1-saknr IF sy-subrc 0 itab-txt50 gw_zfi0006_6_txt-txt50 ELSE CALL FUNCTION
'CONVERSION_EXIT_ALPHA_INPUT' EXPORTING input gw_itab_1-saknr IMPORTING output gw_itab_1-saknr CLEAR gw_skat SELECT SINGLE skat~saknr skat~txt50 skat~spras FROM skat INTO
gw_skat-saknr,gw_skat-txt50,gw_skat-spras WHERE saknr gw_itab_1-saknr
IF sy-subrc 0itab-txt50 gw_skat-txt50 ENDIF ENDIF itab-bukrs gw_itab_1-bukrs itab-butxt gw_itab_1-butxt itab-go1 gw_itab_1-go1 itab-ldmbtr gw_itab_1-ldmbtr itab-bdmbtr gw_itab_1-bdmbtr itab-cdmbtr gw_itab_1-cdmbtr itab-go2 gw_itab_1-go2 COLLECT itab CLEAR itabENDIF ENDLOOP.
第五部分:源程序----复杂性功能实现可贴主要功能代码部分 SELECT
DISTINCT skb1~saknr skat~txt50 faglflext~ryear t001~waers FROM skb1 INNER JOIN skatON skat~saknr skb1~saknr INNER JOIN faglflext ON faglflext~rbukrs skb1~bukrsAND faglflext~racct skb1~saknr INNER JOIN t001ON t001~bukrs skb1~bukrs INTO CORRESPONDING FIELDS OF TABLE itab WHERE skb1~bukrs '1900'AND skat~spras sy-languAND faglflext~rbukrs '1900'AND faglflext~prctr IN s_prctrAND faglflext~ryear p_ryearAND faglflext~racct IN s_racct.
* AND faglflext~rp IN p_rp IF itab[] IS INITIALMESSAGE s000 WITH '没有符合选择条件的数据'STOP ENDIF LOOP AT itab INTO itab_wa_lCLEAR: itab_fag,itab_fa"利润中心 SELECT
faglflext~racctfaglflext~rbukrsfaglflext~prctrfaglflext~hslvtfaglflext~drcrkfaglflext~hsl01faglflext~hsl02faglflext~hsl03faglflext~hsl04faglflext~hsl05faglflext~hsl06faglflext~hsl07faglflext~hsl08faglflext~hsl09faglflext~hsl10faglflext~hsl11faglflext~hsl12faglflext~hsl13faglflext~hsl14faglflext~hsl15faglflext~hsl16 FROM faglflext INTO CORRESPONDING FIELDS OF TABLE itab_fagWHERE faglflext~ryear
itab_wa_l-ryear ANDfaglflext~rbukrs '1900'ANDfaglflext~rldnr 'OL'ANDfaglflext~racct itab_wa_l-saknr ANDfaglflext~prctr IN s_prctrLOOP AT itab_fag INTO itab_fa IF s_rp-low '01' AND s_rp-high IS INITIAL itab_wa_l-openingbalance itab_wa_l-openingbalance + itab_fa-hslvt IF itab_fa-drcrk 'S' itab_wa_l-ldmbtr
itab_wa_l-ldmbtr + itab_fa-hslvt + itab_fa-hsl01 ELSEIF itab_fa-drcrk 'H' itab_wa_l-bdmbtr itab_wa_l-bdmbtr + itab_fa-hslvt + itab_fa-hsl01 ENDIF.
Endif LOOP AT gt_itab_1 INTO gw_itab_1CLEAR lw_lengthCLEAR gw_zfi0006_1READ TABLE gt_zfi0006_1 INTO gw_zfi0006_1 WITH KEY saknr gw_itab_1-saknr BINARY SEARCH.
*- 找自建表最底层科目例如:1001010101 IF gw_zfi0006_1-saknr IS
NOT INITIAL itab-openingbalance gw_itab_1-openingbalance itab-endingbalance gw_itab_1-endingbalance itab-saknr gw_zfi0006_1-saknr.
*-- 查找改科目的描述前进行ALPHA转换 CALL FUNCTION
'CONVERSION_EXIT_ALPHA_INPUT'EXPORTING input
gw_zfi0006_1-saknrIMPORTING output gw_zfi0006_1-saknr.
*- 获取科目描述 CLEAR gw_zfi0006_1_txt SELECT SINGLE saknr txt50 saknr_fFROM zfi0006_1INTO
gw_zfi0006_1_txt-saknr,gw_zfi0006_1_txt-txt50,gw_zfi0006_1_txt-saknr_f WHERE saknr gw_zfi0006_1-saknr.
*- 如果在自建表中没有对应的科目描述,则查找SKAT中的科目描述 IF
sy-subrc 0 itab-txt50 gw_zfi0006_1_txt-txt50 ELSE CLEAR gw_skat SELECT SINGLE skat~saknr skat~txt50 skat~spras FROM skat INTO gw_skat-saknr,gw_skat-txt50,gw_skat-spras WHERE saknr
gw_zfi0006_1-saknr IF sy-subrc 0itab-txt50 gw_skat-txt50 ENDIF ENDIF itab-bukrs gw_itab_1-bukrs itab-butxt gw_itab_1-butxt itab-ldmbtr gw_itab_1-ldmbtr itab-bdmbtr gw_itab_1-bdmbtr itab-cdmbtr gw_itab_1-cdmbtr COLLECT itab CLEAR itab.
*--当最底层科目已经查找到后,取查它对应的父级科目(四层) CALL
FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'EXPORTING input gw_zfi0006_1-saknrIMPORTING output gw_zfi0006_1-saknr CLEAR gw_zfi0006_2-saknr_f SELECT SINGLE saknr_fFROM zfi0006_1INTO gw_zfi0006_2-saknr_f WHERE saknr gw_zfi0006_1-saknr IF gw_zfi0006_2-saknr_f IS NOT INITIAL itab-openingbalance gw_itab_1-openingbalance itab-endingbalance gw_itab_1-endingbalance itab-saknr gw_zfi0006_2-saknr_f CALL FUNCTION
'CONVERSION_EXIT_ALPHA_INPUT' EXPORTING input gw_zfi0006_2-saknr_f IMPORTING output gw_zfi0006_2-saknr_f CLEAR gw_zfi0006_2_txt SELECT SINGLE saknr txt50 saknr_f FROM zfi0006_1 INTO
gw_zfi0006_2_txt-saknr,gw_zfi0006_2_txt-txt50,gw_zfi0006_2_txt-saknr_f WHERE saknr gw_zfi0006_2-saknr_f IF sy-subrc 0itab-txt50 gw_zfi0006_2_txt-txt50 ELSECLEAR gw_skatSELECT
SINGLEskat~saknrskat~txt50skat~spras FROM skat INTO
gw_skat-saknr,gw_skat-txt50,gw_skat-sprasWHERE saknr gw_zfi0006_2-saknr_fIF sy-subrc 0 itab-txt50 gw_skat-txt50ENDIF ENDIF itab-bukrs gw_itab_1-bukrs itab-butxt gw_itab_1-butxt.
* itab-go1 gw_itab_1-go1 itab-ldmbtr gw_itab_1-ldmbtr itab-bdmbtr gw_itab_1-bdmbtr itab-cdmbtr gw_itab_1-cdmbtr.
* itab-go2 gw_itab_1-go2 COLLECT itab CLEAR itab.
*-- 查找第三层CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT' EXPORTING input gw_zfi0006_2-saknr_f IMPORTING output gw_zfi0006_2-saknr_f CLEAR gw_zfi0006_3-saknr_f SELECT SINGLE saknr_f FROM zfi0006_1 INTO gw_zfi0006_3-saknr_f WHERE saknr gw_zfi0006_2-saknr_f IF gw_zfi0006_3-saknr_f IS NOT
INITIALitab-openingbalance
gw_itab_1-openingbalanceitab-endingbalance
gw_itab_1-endingbalanceitab-saknr gw_zfi0006_3-saknr_f CLEAR gw_zfi0006_3_txtCALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT' EXPORTINGinput gw_zfi0006_3-saknr_f IMPORTINGoutput gw_zfi0006_3-saknr_fSELECT SINGLEsaknrtxt50saknr_f FROM zfi0006_1 INTO gw_zfi0006_3_txt-saknr, gw_zfi0006_3_txt-txt50,
gw_zfi0006_3_txt-saknr_fWHERE saknr gw_zfi0006_3-saknr_fIF sy-subrc 0 itab-txt50 gw_zfi0006_3_txt-txt50ELSE CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'EXPORTING input
gw_zfi0006_3-saknr_fIMPORTING output gw_zfi0006_3-saknr_f CLEAR gw_skat SELECT SINGLE skat~saknr skat~txt50 skat~sprasFROM skatINTO gw_skat-saknr,gw_skat-txt50,gw_skat-spras WHERE saknr gw_zfi0006_3-saknr_f IF sy-subrc 0 itab-txt50 gw_skat-txt50 ENDIFENDIFitab-bukrs gw_itab_1-bukrsitab-butxt gw_itab_1-butxt.
* itab-go1 gw_itab_1-go1itab-ldmbtr gw_itab_1-ldmbtritab-bdmbtr gw_itab_1-bdmbtritab-cdmbtr gw_itab_1-cdmbtr.
* itab-go2 gw_itab_1-go2COLLECT itabCLEAR itab.
*-- 查找二层科目 CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT' EXPORTINGinput gw_zfi0006_3-saknr_f IMPORTINGoutput gw_zfi0006_3-saknr_fCLEAR gw_zfi0006_4-saknr_fSELECT SINGLE saknr_f FROM zfi0006_1 INTO gw_zfi0006_4-saknr_fWHERE saknr
gw_zfi0006_3-saknr_f IF gw_zfi0006_4-saknr_f IS NOT INITIAL itab-openingbalance gw_itab_1-openingbalance itab-endingbalance gw_itab_1-endingbalance itab-saknr gw_zfi0006_4-saknr_fCALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'EXPORTING input gw_zfi0006_4-saknr_fIMPORTING output gw_zfi0006_4-saknr_f CLEAR gw_zfi0006_4_txt SELECT SINGLE saknr txt50 saknr_fFROM zfi0006_1INTO
gw_zfi0006_4_txt-saknr,gw_zfi0006_4_txt-txt50,gw_zfi0006_4_txt-saknr_f WHERE saknr gw_zfi0006_4-saknr_fIF sy-subrc 0 itab-txt50 gw_zfi0006_4_txt-txt50 ELSE CALL FUNCTION
'CONVERSION_EXIT_ALPHA_INPUT' EXPORTING input gw_zfi0006_4-saknr_f IMPORTING output gw_zfi0006_4-saknr_f CLEAR gw_skat SELECT SINGLE skat~saknr skat~txt50 skat~spras FROM skat INTO
gw_skat-saknr,gw_skat-txt50,gw_skat-spras WHERE saknr
gw_zfi0006_4-saknr_f IF sy-subrc 0itab-txt50 gw_skat-txt50 ENDIF ENDIF itab-bukrs gw_itab_1-bukrs itab-butxt gw_itab_1-butxt.
*itab-go1 gw_itab_1-go1 itab-ldmbtr gw_itab_1-ldmbtr itab-bdmbtr gw_itab_1-bdmbtr itab-cdmbtr gw_itab_1-cdmbtr.
*itab-go2 gw_itab_1-go2 COLLECT itab CLEAR itabENDIF ENDIF ENDIF itab-openingbalance gw_itab_1-openingbalance
itab-endingbalance gw_itab_1-endingbalance itab-saknr gw_itab_1-saknr CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'EXPORTING input gw_itab_1-saknrIMPORTING output gw_itab_1-saknr CLEAR gw_zfi0006_6_txt SELECT SINGLE saknr txt50 saknr_fFROM zfi0006_1
* INTO CORRESPONDING FIELDS OF TABLE gt_zfi0006_4_txtINTO gw_zfi0006_6_txt-saknr,gw_zfi0006_6_txt-txt50,gw_zfi0006_6_txt-saknr_f WHERE saknr gw_itab_1-saknr.
* READ TABLE gt_zfi0006_4_txt INTO gw_zfi0006_4_txt WITH KEY saknr itab-saknr BINARY SEARCH IF sy-subrc 0 itab-txt50
gw_zfi0006_6_txt-txt50 ELSE CALL FUNCTION
'CONVERSION_EXIT_ALPHA_INPUT' EXPORTING input gw_itab_1-saknr IMPORTING output gw_itab_1-saknr CLEAR gw_skat SELECT SINGLE skat~saknr
skat~txt50 skat~spras FROM skat INTO
gw_skat-saknr,gw_skat-txt50,gw_skat-spras WHERE saknr gw_itab_1-saknr IF sy-subrc 0itab-txt50 gw_skat-txt50 ENDIF ENDIF itab-bukrs gw_itab_1-bukrs itab-butxt gw_itab_1-butxt itab-go1 gw_itab_1-go1 itab-ldmbtr gw_itab_1-ldmbtr itab-bdmbtr gw_itab_1-bdmbtr itab-cdmbtr gw_itab_1-cdmbtr itab-go2 gw_itab_1-go2 COLLECT itab CLEAR itabENDIF ENDLOOP.