<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: field values not getting sorted in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/field-values-not-getting-sorted/m-p/12194120#M1981066</link>
    <description>&lt;P&gt;&lt;BR /&gt;
FORM get_opnbal .&lt;BR /&gt;
 RANGES r_racct FOR acdoca-racct.&lt;BR /&gt;
 DATA lv_hsl TYPE acdoca-hsl.&lt;BR /&gt;
*break pwcsd3.&lt;BR /&gt;
 SELECT *&lt;BR /&gt;
 FROM zfi_opn_cls_bal&lt;BR /&gt;
 INTO TABLE gt_bal&lt;BR /&gt;
 WHERE bukrs = p_bukrs.&lt;BR /&gt;
 IF sy-subrc = 0.&lt;BR /&gt;
 SORT gt_bal BY key_date DESCENDING.&lt;BR /&gt;
* READ TABLE gt_bal INTO DATA(lw_bal) INDEX 1.&lt;BR /&gt;
* IF sy-subrc = 0.&lt;BR /&gt;
** p_opnbal = lw_bal-close_bal.&lt;BR /&gt;
* ENDIF.&lt;BR /&gt;
* ELSE.&lt;BR /&gt;
* p_opnbal = 0.&lt;BR /&gt;
 ENDIF.&lt;BR /&gt;
 SELECT SINGLE gtext FROM tgsbt INTO t_rbusa&lt;BR /&gt;
 WHERE gsber EQ p_rbusa.&lt;BR /&gt;
 SELECT SINGLE txt20 FROM skat INTO t_racct&lt;BR /&gt;
 WHERE saknr = p_racct.&lt;BR /&gt;
* LOOP AT SCREEN.&lt;BR /&gt;
* IF screen-name = 'P_OPNBAL'.&lt;BR /&gt;
* screen-input = 0.&lt;BR /&gt;
* MODIFY SCREEN.&lt;BR /&gt;
* ENDIF.&lt;BR /&gt;
* ENDLOOP.&lt;BR /&gt;
 LOOP AT SCREEN.&lt;BR /&gt;
 IF screen-name = 'P_BAS' OR screen-name = 'P_DIFF'.&lt;BR /&gt;
 screen-input = 0.&lt;BR /&gt;
 MODIFY SCREEN.&lt;BR /&gt;
 ENDIF.&lt;BR /&gt;
 ENDLOOP.&lt;BR /&gt;
 CLEAR gw_in_out_gls.&lt;BR /&gt;
 SELECT SINGLE *&lt;BR /&gt;
 FROM zfi_in_out_gls&lt;BR /&gt;
 INTO gw_in_out_gls&lt;BR /&gt;
 WHERE bukrs = p_bukrs&lt;BR /&gt;
 AND rbusa = p_rbusa&lt;BR /&gt;
 AND racct_m = p_racct.&lt;BR /&gt;
 IF gw_in_out_gls IS NOT INITIAL.&lt;BR /&gt;
 CLEAR r_racct.&lt;BR /&gt;
 r_racct-low = gw_in_out_gls-racct_m.&lt;BR /&gt;
 r_racct-sign = 'I'.&lt;BR /&gt;
 r_racct-option = 'EQ'.&lt;BR /&gt;
 APPEND r_racct .&lt;BR /&gt;
 CLEAR r_racct-low.&lt;BR /&gt;
 r_racct-low = gw_in_out_gls-racct_in.&lt;BR /&gt;
 APPEND r_racct .&lt;BR /&gt;
 CLEAR r_racct-low.&lt;BR /&gt;
 r_racct-low = gw_in_out_gls-racct_out.&lt;BR /&gt;
 APPEND r_racct .&lt;BR /&gt;
&lt;BR /&gt;
 IF r_racct IS NOT INITIAL.&lt;BR /&gt;
 SELECT rbukrs, gjahr, belnr, docln,budat,blart,hsl FROM acdoca INTO TABLE @DATA(it_bas)&lt;BR /&gt;
 WHERE rbukrs = @p_bukrs&lt;BR /&gt;
 AND rbusa = @p_rbusa&lt;BR /&gt;
 AND racct IN @r_racct&lt;BR /&gt;
 AND budat LE @p_keydt&lt;BR /&gt;
 AND blart IN @s_blart.&lt;BR /&gt;
 SORT it_bas.&lt;BR /&gt;
 DELETE it_bas WHERE budat IS INITIAL.&lt;BR /&gt;
 IF it_bas IS NOT INITIAL.&lt;BR /&gt;
 LOOP AT it_bas INTO DATA(ls_bas).&lt;BR /&gt;
 lv_hsl = lv_hsl + ls_bas-hsl.&lt;BR /&gt;
 CLEAR ls_bas.&lt;BR /&gt;
 ENDLOOP.&lt;BR /&gt;
 p_bas = lv_hsl.&lt;BR /&gt;
 ELSE.&lt;BR /&gt;
 p_bas = 0.&lt;BR /&gt;
 ENDIF.&lt;BR /&gt;
 ENDIF.&lt;BR /&gt;
 p_diff = p_bas - p_clsbal.&lt;BR /&gt;
&lt;BR /&gt;
 ENDIF.&lt;BR /&gt;
ENDFORM.&lt;BR /&gt;&lt;BR /&gt;
FORM fetch_data .&lt;BR /&gt;
&lt;BR /&gt;
 DATA : lt_acdoca TYPE STANDARD TABLE OF zfi_acdoca_opn_itms,&lt;BR /&gt;
 lt_acdoca_tmp TYPE STANDARD TABLE OF ty_acdoca.&lt;BR /&gt;
&lt;BR /&gt;
 SELECT SINGLE *&lt;BR /&gt;
 FROM zfi_in_out_gls&lt;BR /&gt;
 INTO gw_in_out_gls&lt;BR /&gt;
 WHERE bukrs = p_bukrs&lt;BR /&gt;
 AND rbusa = p_rbusa&lt;BR /&gt;
 AND racct_m = p_racct.&lt;BR /&gt;
&lt;BR /&gt;
 IF sy-subrc = 0.&lt;BR /&gt;
 CALL FUNCTION 'ZGL_OPENING_CLOSING_BAL_KEYDAT'&lt;BR /&gt;
 EXPORTING&lt;BR /&gt;
 comp = p_bukrs&lt;BR /&gt;
 date = p_keydt&lt;BR /&gt;
 acct = gw_in_out_gls-racct_in "Incoming G/L&lt;BR /&gt;
 rbusa = p_rbusa&lt;BR /&gt;
 TABLES&lt;BR /&gt;
 it_acdoca = lt_acdoca&lt;BR /&gt;
 EXCEPTIONS&lt;BR /&gt;
 no_data_found = 1&lt;BR /&gt;
 OTHERS = 2.&lt;BR /&gt;
 IF sy-subrc = 0.&lt;BR /&gt;
 gt_acdoca[] = CORRESPONDING #( lt_acdoca[] ).&lt;BR /&gt;
 REFRESH lt_acdoca.&lt;BR /&gt;
 ENDIF.&lt;BR /&gt;
 CALL FUNCTION 'ZGL_OPENING_CLOSING_BAL_KEYDAT'&lt;BR /&gt;
 EXPORTING&lt;BR /&gt;
 comp = p_bukrs&lt;BR /&gt;
 date = p_keydt&lt;BR /&gt;
 acct = gw_in_out_gls-racct_out "Outgoing G/L&lt;BR /&gt;
 rbusa = p_rbusa&lt;BR /&gt;
 TABLES&lt;BR /&gt;
 it_acdoca = lt_acdoca&lt;BR /&gt;
 EXCEPTIONS&lt;BR /&gt;
 no_data_found = 1&lt;BR /&gt;
 OTHERS = 2.&lt;BR /&gt;
 IF sy-subrc = 0.&lt;BR /&gt;
 lt_acdoca_tmp[] = CORRESPONDING #( lt_acdoca[] ).&lt;BR /&gt;
 APPEND LINES OF lt_acdoca_tmp TO gt_acdoca.&lt;BR /&gt;
 REFRESH lt_acdoca.&lt;BR /&gt;
 ENDIF.&lt;BR /&gt;
 ENDIF.&lt;BR /&gt;
 DELETE gt_acdoca WHERE blart NOT IN s_blart.&lt;BR /&gt;
 IF gt_acdoca IS INITIAL.&lt;BR /&gt;
 MESSAGE s398(00) WITH 'No data found' DISPLAY LIKE 'E'.&lt;BR /&gt;
 LEAVE LIST-PROCESSING.&lt;BR /&gt;
 ENDIF.&lt;BR /&gt;
&lt;BR /&gt;
ENDFORM.&lt;BR /&gt;&lt;BR /&gt;
FORM pf_stat USING rt_extab TYPE slis_t_extab.&lt;BR /&gt;
&lt;BR /&gt;
 SET PF-STATUS 'ZPF'.&lt;BR /&gt;
&lt;BR /&gt;
ENDFORM.&lt;BR /&gt;
*&amp;amp;---------------------------------------------------------------------*&lt;BR /&gt;
*&amp;amp; Form FIELD_CATALOG&lt;BR /&gt;
*&amp;amp;---------------------------------------------------------------------*&lt;BR /&gt;
*&amp;amp; text&lt;BR /&gt;
*&amp;amp;---------------------------------------------------------------------*&lt;BR /&gt;
*&amp;amp; --&amp;gt; P_FLDNAME&lt;BR /&gt;
*&amp;amp; --&amp;gt; P_DESC&lt;BR /&gt;
*&amp;amp;---------------------------------------------------------------------*&lt;BR /&gt;
FORM field_catalog USING VALUE(p_fldname)&lt;BR /&gt;
 VALUE(p_desc).&lt;BR /&gt;
 DATA : lw_fldcat TYPE slis_fieldcat_alv.&lt;BR /&gt;
&lt;BR /&gt;
 lw_fldcat-fieldname = p_fldname.&lt;BR /&gt;
 lw_fldcat-seltext_l = p_desc.&lt;BR /&gt;
 IF p_fldname = 'BELNR'.&lt;BR /&gt;
 lw_fldcat-hotspot = 'X'.&lt;BR /&gt;
 ELSEIF p_fldname = 'CHK'.&lt;BR /&gt;
 lw_fldcat-checkbox = 'X'.&lt;BR /&gt;
 lw_fldcat-edit = 'X'.&lt;BR /&gt;
 lw_fldcat-outputlen = 3.&lt;BR /&gt;
 ENDIF.&lt;BR /&gt;
 APPEND lw_fldcat TO gt_fldcat.&lt;BR /&gt;
 CLEAR lw_fldcat.&lt;BR /&gt;
&lt;BR /&gt;
ENDFORM.&lt;BR /&gt;&lt;BR /&gt;
FORM display_data .&lt;BR /&gt;
&lt;BR /&gt;
 DATA : lw_layout TYPE slis_layout_alv.&lt;BR /&gt;
&lt;BR /&gt;
 lw_layout-zebra = 'X'.&lt;BR /&gt;
* lw_layout-box_fieldname = 'CHK'.&lt;BR /&gt;
&lt;BR /&gt;
 PERFORM field_catalog USING : 'CHK' 'Select',&lt;BR /&gt;
 'RBUKRS' 'Company Code',&lt;BR /&gt;
 'BELNR' 'Doc. Number',&lt;BR /&gt;
 'DOCLN' ' Item Number',&lt;BR /&gt;
 'GJAHR' 'Fiscal Year',&lt;BR /&gt;
 'BLART' 'Doc. Type',&lt;BR /&gt;
 'RACCT' 'Account Number',&lt;BR /&gt;
 'BUDAT' 'Posting Date',&lt;BR /&gt;
 'RBUSA' 'B. Area',&lt;BR /&gt;
 'PRCTR' 'Profit Ctr',&lt;BR /&gt;
* Begin of Nidhi 15-11-2019&lt;BR /&gt;
 'RWCUR' 'Document Currency',&lt;BR /&gt;
 'WSL' 'Amount in Document Currency',&lt;BR /&gt;
 'RHCUR' 'Local Currency',&lt;BR /&gt;
* End of Nidhi 15-11-2019&lt;BR /&gt;
 'HSL' 'Amt. in Local Cur.',&lt;BR /&gt;
 'BSCHL' 'P. Key',&lt;BR /&gt;
 'AUGBL' 'Clearing Doc. No.',&lt;BR /&gt;
 'AUGDT' 'Clearing Date',&lt;BR /&gt;
&lt;BR /&gt;
 'SGTXT' 'Text',&lt;BR /&gt;
 'MSG' 'Remarks'.&lt;BR /&gt;
* 'ZUONR' 'Assignment'.&lt;BR /&gt;
* .&lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
 SORT gt_acdoca BY belnr gjahr docln.&lt;BR /&gt;
 lw_layout-colwidth_optimize = abap_true.&lt;BR /&gt;
 CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'&lt;BR /&gt;
 EXPORTING&lt;BR /&gt;
 i_callback_program = sy-repid&lt;BR /&gt;
 i_callback_pf_status_set = 'PF_STAT'&lt;BR /&gt;
 i_callback_user_command = 'USER_COMM'&lt;BR /&gt;
 is_layout = lw_layout&lt;BR /&gt;
 it_fieldcat = gt_fldcat&lt;BR /&gt;
 TABLES&lt;BR /&gt;
 t_outtab = gt_acdoca&lt;BR /&gt;
 EXCEPTIONS&lt;BR /&gt;
 program_error = 1&lt;BR /&gt;
 OTHERS = 2.&lt;BR /&gt;
&lt;BR /&gt;
ENDFORM.&lt;BR /&gt;&lt;BR /&gt;
FORM user_comm USING syst-ucomm LIKE syst-ucomm&lt;BR /&gt;
 selfield TYPE slis_selfield.&lt;BR /&gt;
&lt;BR /&gt;
 DATA : ref_grid TYPE REF TO cl_gui_alv_grid,&lt;BR /&gt;
 lt_acdoca TYPE STANDARD TABLE OF ty_acdoca,&lt;BR /&gt;
 lt_acdoca_temp TYPE STANDARD TABLE OF ty_acdoca,&lt;BR /&gt;
 lt_acdoca2 TYPE STANDARD TABLE OF ty_acdoca,&lt;BR /&gt;
 lw_acdoca TYPE ty_acdoca,&lt;BR /&gt;
 lw_acdoca1 TYPE ty_acdoca,&lt;BR /&gt;
 lw_bal TYPE zfi_opn_cls_bal,&lt;BR /&gt;
 lv_opn TYPE char50,&lt;BR /&gt;
 lv_cls TYPE char50,&lt;BR /&gt;
 lv_recon TYPE char50,&lt;BR /&gt;
 lv_unrecon TYPE char50,&lt;BR /&gt;
 lv_opnbal TYPE char26,&lt;BR /&gt;
 lv_clsbal TYPE char26,&lt;BR /&gt;
 lv_reconbal TYPE char26,&lt;BR /&gt;
 lv_unreconbal TYPE char26,&lt;BR /&gt;
 lv_hsl TYPE fins_vhcur12,&lt;BR /&gt;
 lv_lines TYPE i,&lt;BR /&gt;
 lv_tabix TYPE sy-tabix.&lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
 IF ref_grid IS INITIAL.&lt;BR /&gt;
 CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'&lt;BR /&gt;
 IMPORTING&lt;BR /&gt;
 e_grid = ref_grid.&lt;BR /&gt;
 ENDIF.&lt;BR /&gt;
&lt;BR /&gt;
 IF NOT ref_grid IS INITIAL.&lt;BR /&gt;
 CALL METHOD ref_grid-&amp;gt;check_changed_data.&lt;BR /&gt;
 ENDIF.&lt;BR /&gt;
&lt;BR /&gt;
 CASE syst-ucomm.&lt;BR /&gt;
 WHEN '&amp;amp;IC1'.&lt;BR /&gt;
 READ TABLE gt_acdoca INTO lw_acdoca INDEX selfield-tabindex.&lt;BR /&gt;
 IF sy-subrc = 0.&lt;BR /&gt;
 SET PARAMETER ID : 'BLN' FIELD lw_acdoca-belnr,&lt;BR /&gt;
 'BUK' FIELD lw_acdoca-rbukrs,&lt;BR /&gt;
 'GJR' FIELD lw_acdoca-gjahr.&lt;BR /&gt;
 CALL TRANSACTION 'FB03' AND SKIP FIRST SCREEN.&lt;BR /&gt;
 CLEAR lw_acdoca.&lt;BR /&gt;
 ENDIF.&lt;BR /&gt;
 WHEN 'BALANCES'.&lt;BR /&gt;
 REFRESH lt_acdoca.&lt;BR /&gt;
 lt_acdoca[] = gt_acdoca[].&lt;BR /&gt;
 DELETE lt_acdoca WHERE chk NE 'X'.&lt;BR /&gt;
 IF lt_acdoca IS INITIAL.&lt;BR /&gt;
 MESSAGE e398(00) WITH 'Please select atleast one line'.&lt;BR /&gt;
 ENDIF.&lt;BR /&gt;
* lv_opnbal = p_opnbal.&lt;BR /&gt;
 lv_clsbal = p_clsbal.&lt;BR /&gt;
 CLEAR lv_hsl.&lt;BR /&gt;
 DATA(lt_acdoca1) = lt_acdoca[].&lt;BR /&gt;
 DELETE lt_acdoca1 WHERE augbl IS INITIAL.&lt;BR /&gt;
 LOOP AT lt_acdoca1 INTO lw_acdoca.&lt;BR /&gt;
 lv_hsl = lw_acdoca-hsl + lv_hsl.&lt;BR /&gt;
 CLEAR lw_acdoca.&lt;BR /&gt;
 ENDLOOP.&lt;BR /&gt;
 lv_reconbal = lv_hsl.&lt;BR /&gt;
 CLEAR lv_hsl.&lt;BR /&gt;
 REFRESH lt_acdoca1.&lt;BR /&gt;
 lt_acdoca1[] = lt_acdoca[].&lt;BR /&gt;
 DELETE lt_acdoca1 WHERE augbl IS NOT INITIAL.&lt;BR /&gt;
 LOOP AT lt_acdoca1 INTO lw_acdoca.&lt;BR /&gt;
 lv_hsl = lw_acdoca-hsl + lv_hsl.&lt;BR /&gt;
 CLEAR lw_acdoca.&lt;BR /&gt;
 ENDLOOP.&lt;BR /&gt;
 lv_unreconbal = lv_hsl.&lt;BR /&gt;
 CONDENSE : lv_clsbal, lv_reconbal, lv_unreconbal.&lt;BR /&gt;
 CLEAR lv_opnbal.&lt;BR /&gt;
* CONCATENATE 'Opening Bal. = ' lv_opnbal INTO lv_opn SEPARATED BY space.&lt;BR /&gt;
 CONCATENATE 'Closing Bal. = ' lv_clsbal INTO lv_cls SEPARATED BY space.&lt;BR /&gt;
 CONCATENATE 'Reconciled Bal. = ' lv_reconbal INTO lv_recon SEPARATED BY space.&lt;BR /&gt;
 CONCATENATE 'Unreconciled Bal. = ' lv_unreconbal INTO lv_unrecon SEPARATED BY space.&lt;BR /&gt;
 CALL FUNCTION 'POPUP_TO_INFORM'&lt;BR /&gt;
 EXPORTING&lt;BR /&gt;
 titel = 'Balances'&lt;BR /&gt;
 txt1 = lv_opn&lt;BR /&gt;
 txt2 = lv_cls&lt;BR /&gt;
 txt3 = lv_recon&lt;BR /&gt;
 txt4 = lv_unrecon.&lt;BR /&gt;
 WHEN '&amp;amp;DATA_SAVE'.&lt;BR /&gt;
 REFRESH lt_acdoca.&lt;BR /&gt;
 lt_acdoca[] = gt_acdoca[].&lt;BR /&gt;
 DELETE lt_acdoca WHERE chk NE 'X'.&lt;BR /&gt;
 IF lt_acdoca IS INITIAL.&lt;BR /&gt;
 MESSAGE e398(00) WITH 'Please select atleast one line'.&lt;BR /&gt;
 ENDIF.&lt;BR /&gt;
 LOOP AT lt_acdoca INTO lw_acdoca.&lt;BR /&gt;
 IF lw_acdoca-augbl IS NOT INITIAL.&lt;BR /&gt;
 MESSAGE e398(00) WITH 'Document already cleared'.&lt;BR /&gt;
 ENDIF.&lt;BR /&gt;
 CLEAR lw_acdoca.&lt;BR /&gt;
 ENDLOOP.&lt;BR /&gt;
 SORT lt_acdoca BY bschl.&lt;BR /&gt;
 DELETE ADJACENT DUPLICATES FROM lt_acdoca COMPARING bschl.&lt;BR /&gt;
 DESCRIBE TABLE lt_acdoca LINES lv_lines.&lt;BR /&gt;
 IF lv_lines NE 1.&lt;BR /&gt;
 MESSAGE e398(00) WITH 'Please select documents' 'with same posting key'.&lt;BR /&gt;
 ELSE.&lt;BR /&gt;
 REFRESH:lt_acdoca1, lt_acdoca.&lt;BR /&gt;
 lt_acdoca[] = gt_acdoca[].&lt;BR /&gt;
 DELETE lt_acdoca WHERE chk NE 'X'.&lt;BR /&gt;
&lt;BR /&gt;
*&amp;amp;-----&lt;BR /&gt;
 REFRESH:lt_acdoca2,gt_acdoca_tmp.&lt;BR /&gt;
 lt_acdoca2[] = lt_acdoca.&lt;BR /&gt;
 CLEAR lw_acdoca.&lt;BR /&gt;
 LOOP AT lt_acdoca INTO lw_acdoca.&lt;BR /&gt;
 lv_tabix = sy-tabix.&lt;BR /&gt;
 READ TABLE lt_acdoca_temp WITH KEY belnr = lw_acdoca-belnr&lt;BR /&gt;
 gjahr = lw_acdoca-gjahr&lt;BR /&gt;
 TRANSPORTING NO FIELDS.&lt;BR /&gt;
 IF sy-subrc IS INITIAL.&lt;BR /&gt;
 DELETE lt_acdoca INDEX lv_tabix.&lt;BR /&gt;
 ELSE.&lt;BR /&gt;
 CLEAR lw_acdoca1.&lt;BR /&gt;
 LOOP AT lt_acdoca2 INTO lw_acdoca1&lt;BR /&gt;
 WHERE belnr = lw_acdoca-belnr&lt;BR /&gt;
 AND gjahr = lw_acdoca-gjahr.&lt;BR /&gt;
 IF lw_acdoca-prctr NE lw_acdoca1-prctr.&lt;BR /&gt;
 APPEND lw_acdoca1 TO lt_acdoca_temp.&lt;BR /&gt;
 ENDIF.&lt;BR /&gt;
 CLEAR lw_acdoca1.&lt;BR /&gt;
 ENDLOOP.&lt;BR /&gt;
 ENDIF.&lt;BR /&gt;
 ENDLOOP.&lt;BR /&gt;
*&amp;amp;-----&lt;BR /&gt;
 ENDIF.&lt;BR /&gt;
&lt;BR /&gt;
 PERFORM gl_clearing USING lt_acdoca lt_acdoca_temp.&lt;BR /&gt;
&lt;BR /&gt;
 SELECT rbukrs, gjahr, belnr, docln, hsl, augdt, augbl&lt;BR /&gt;
 FROM acdoca&lt;BR /&gt;
 INTO TABLE @DATA(lt_acdoca_tmp)&lt;BR /&gt;
 FOR ALL ENTRIES IN @lt_acdoca&lt;BR /&gt;
 WHERE rbukrs = @lt_acdoca-rbukrs&lt;BR /&gt;
 AND gjahr = @lt_acdoca-gjahr&lt;BR /&gt;
 AND belnr = @lt_acdoca-belnr.&lt;BR /&gt;
 IF sy-subrc = 0.&lt;BR /&gt;
 DELETE lt_acdoca_tmp WHERE augbl IS INITIAL.&lt;BR /&gt;
 IF lt_acdoca_tmp IS NOT INITIAL.&lt;BR /&gt;
 CLEAR lw_bal.&lt;BR /&gt;
 lw_bal-key_date = p_keydt.&lt;BR /&gt;
 lw_bal-rbusa = p_rbusa.&lt;BR /&gt;
* lw_bal-open_bal = p_opnbal.&lt;BR /&gt;
 lw_bal-usnam = sy-uname.&lt;BR /&gt;
 lw_bal-close_bal = p_clsbal.&lt;BR /&gt;
 lw_bal-bukrs = p_bukrs.&lt;BR /&gt;
 LOOP AT lt_acdoca_tmp INTO DATA(lw_acdoca_tmp).&lt;BR /&gt;
 lw_bal-recon_bal = lw_bal-recon_bal + lw_acdoca_tmp-hsl.&lt;BR /&gt;
 READ TABLE gt_acdoca ASSIGNING &amp;lt;fs_acdoca&amp;gt; WITH KEY gjahr = lw_acdoca_tmp-gjahr&lt;BR /&gt;
 belnr = lw_acdoca_tmp-belnr&lt;BR /&gt;
 docln = lw_acdoca_tmp-docln&lt;BR /&gt;
 BINARY SEARCH.&lt;BR /&gt;
 IF sy-subrc = 0.&lt;BR /&gt;
 &amp;lt;fs_acdoca&amp;gt;-augbl = lw_acdoca_tmp-augbl.&lt;BR /&gt;
 &amp;lt;fs_acdoca&amp;gt;-augdt = lw_acdoca_tmp-augdt.&lt;BR /&gt;
 ENDIF.&lt;BR /&gt;
 CLEAR lw_acdoca_tmp.&lt;BR /&gt;
 ENDLOOP.&lt;BR /&gt;
 lw_bal-unrecon_bal = p_clsbal - lw_bal-recon_bal.&lt;BR /&gt;
 MODIFY zfi_opn_cls_bal FROM lw_bal.&lt;BR /&gt;
 COMMIT WORK.&lt;BR /&gt;
 ELSE.&lt;BR /&gt;
 MESSAGE i398(00) WITH 'No document reconciled'.&lt;BR /&gt;
 ENDIF.&lt;BR /&gt;
 ENDIF.&lt;BR /&gt;
 WHEN 'REFRESH'.&lt;BR /&gt;
 CALL METHOD ref_grid-&amp;gt;refresh_table_display.&lt;BR /&gt;
 WHEN 'SELALL'.&lt;BR /&gt;
 LOOP AT gt_acdoca ASSIGNING &amp;lt;fs_acdoca&amp;gt;.&lt;BR /&gt;
 &amp;lt;fs_acdoca&amp;gt;-chk = 'X'.&lt;BR /&gt;
 ENDLOOP.&lt;BR /&gt;
 CALL METHOD ref_grid-&amp;gt;refresh_table_display.&lt;BR /&gt;
 WHEN 'DESELALL'.&lt;BR /&gt;
 LOOP AT gt_acdoca ASSIGNING &amp;lt;fs_acdoca&amp;gt;.&lt;BR /&gt;
 CLEAR &amp;lt;fs_acdoca&amp;gt;-chk.&lt;BR /&gt;
 ENDLOOP.&lt;BR /&gt;
 CALL METHOD ref_grid-&amp;gt;refresh_table_display.&lt;BR /&gt;
 WHEN '&amp;amp;DIFF'.&lt;BR /&gt;
 DATA lv_ts TYPE acdoca-hsl.&lt;BR /&gt;
 DATA lv_tc TYPE acdoca-hsl.&lt;BR /&gt;
 DATA lv_te TYPE acdoca-hsl.&lt;BR /&gt;
 DATA lv_tbs TYPE acdoca-hsl.&lt;BR /&gt;
 DATA lv_tbb TYPE char50.&lt;BR /&gt;
 DATA: ld_ts TYPE char50,&lt;BR /&gt;
 ld_tc TYPE char50,&lt;BR /&gt;
 ld_te TYPE char50,&lt;BR /&gt;
 ld_tbs TYPE char50,&lt;BR /&gt;
 ld_tbb TYPE char50,&lt;BR /&gt;
 lv_diff TYPE char30.&lt;BR /&gt;
 CLEAR : lv_ts,lv_tc,lv_te,lv_tbs,lv_tbb.&lt;BR /&gt;
 BREAK pwcsd3.&lt;BR /&gt;
 LOOP AT gt_acdoca INTO gw_acdoca WHERE chk = 'X'.&lt;BR /&gt;
 IF gw_acdoca-blart = 'ZC' AND&lt;BR /&gt;
 gw_acdoca-racct = gw_in_out_gls-racct_in .&lt;BR /&gt;
 lv_ts = lv_ts + gw_acdoca-hsl.&lt;BR /&gt;
 ENDIF.&lt;BR /&gt;
 IF gw_acdoca-blart NE 'ZC' AND&lt;BR /&gt;
 gw_acdoca-racct = gw_in_out_gls-racct_in .&lt;BR /&gt;
 lv_tc = lv_tc + gw_acdoca-hsl.&lt;BR /&gt;
 ENDIF.&lt;BR /&gt;
 IF gw_acdoca-racct = gw_in_out_gls-racct_out .&lt;BR /&gt;
 lv_te = lv_te + gw_acdoca-hsl.&lt;BR /&gt;
 ENDIF.&lt;BR /&gt;
 CLEAR gw_acdoca.&lt;BR /&gt;
 ENDLOOP.&lt;BR /&gt;
 CLEAR : ld_ts,ld_tc,ld_te,lv_diff.&lt;BR /&gt;
 ld_ts = lv_ts.&lt;BR /&gt;
 ld_tc = lv_tc.&lt;BR /&gt;
 ld_te = lv_te.&lt;BR /&gt;
 lv_tbs = lv_ts + lv_tc + lv_te.&lt;BR /&gt;
 lv_tbb = p_clsbal.&lt;BR /&gt;
 lv_diff = lv_tbs - lv_tbb.&lt;BR /&gt;
 ld_tbs = lv_tbs.&lt;BR /&gt;
 SHIFT: ld_ts LEFT DELETING LEADING space,&lt;BR /&gt;
 ld_tc LEFT DELETING LEADING space,&lt;BR /&gt;
 ld_te LEFT DELETING LEADING space,&lt;BR /&gt;
 ld_tbs LEFT DELETING LEADING space,&lt;BR /&gt;
 lv_tbb LEFT DELETING LEADING space,&lt;BR /&gt;
 lv_diff LEFT DELETING LEADING space.&lt;BR /&gt;
&lt;BR /&gt;
 CONCATENATE 'Total Sales as per SAP ' ld_ts INTO ld_ts SEPARATED BY '='.&lt;BR /&gt;
 CONCATENATE 'Total Collection as per SAP ' ld_tc INTO ld_tc SEPARATED BY '='.&lt;BR /&gt;
 CONCATENATE 'Total expenses as per SAP ' ld_te INTO ld_te SEPARATED BY '='.&lt;BR /&gt;
 CONCATENATE 'Total Balance as per SAP' ld_tbs INTO ld_tbs SEPARATED BY '='.&lt;BR /&gt;
 CONCATENATE 'Total Balance as per Branch' lv_tbb INTO lv_tbb SEPARATED BY '='.&lt;BR /&gt;
 CONCATENATE 'Difference' lv_diff INTO lv_diff SEPARATED BY '='.&lt;BR /&gt;
 CALL FUNCTION 'ZFI_POPUP_TO_INFORM'&lt;BR /&gt;
 EXPORTING&lt;BR /&gt;
 titel = 'Differences'&lt;BR /&gt;
 txt1 = ld_ts&lt;BR /&gt;
 txt2 = ld_tc&lt;BR /&gt;
 txt3 = ld_te&lt;BR /&gt;
 txt4 = ld_tbs&lt;BR /&gt;
 txt5 = lv_tbb&lt;BR /&gt;
 txt6 = lv_diff.&lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
 ENDCASE.&lt;BR /&gt;
&lt;BR /&gt;
ENDFORM.&lt;BR /&gt;&lt;BR /&gt;
FORM gl_clearing USING p_t_acdoca TYPE tty_acdoca&lt;BR /&gt;
 p_t_acdoca_temp TYPE tty_acdoca.&lt;BR /&gt;
&lt;BR /&gt;
 DATA : i_auglv LIKE t041a-auglv,&lt;BR /&gt;
 i_tcode LIKE sy-tcode,&lt;BR /&gt;
 bbkpf TYPE bkpf,&lt;BR /&gt;
 w_blntab TYPE blntab,&lt;BR /&gt;
 t_blntab TYPE STANDARD TABLE OF blntab,&lt;BR /&gt;
 w_ftclear TYPE ftclear,&lt;BR /&gt;
 t_ftclear TYPE STANDARD TABLE OF ftclear,&lt;BR /&gt;
 w_ftpost TYPE ftpost,&lt;BR /&gt;
 t_ftpost TYPE STANDARD TABLE OF ftpost,&lt;BR /&gt;
 t_fttax TYPE STANDARD TABLE OF fttax,&lt;BR /&gt;
 lw_acdoca TYPE ty_acdoca,&lt;BR /&gt;
 lw_acdoca_tmp TYPE ty_acdoca,&lt;BR /&gt;
 lv_hsl TYPE fins_vhcur12,&lt;BR /&gt;
 lv_bschl TYPE bschl,&lt;BR /&gt;
 lv_msg(100) TYPE c,&lt;BR /&gt;
 lv_count TYPE count_pi.&lt;BR /&gt;
&lt;BR /&gt;
 DATA : e_msgid LIKE sy-msgid,&lt;BR /&gt;
 e_msgno LIKE sy-msgno,&lt;BR /&gt;
 e_msgty LIKE sy-msgty,&lt;BR /&gt;
 e_msgv1 LIKE sy-msgv1,&lt;BR /&gt;
 e_msgv2 LIKE sy-msgv2,&lt;BR /&gt;
 e_msgv3 LIKE sy-msgv3,&lt;BR /&gt;
 e_msgv4 LIKE sy-msgv4,&lt;BR /&gt;
 e_subrc LIKE sy-subrc.&lt;BR /&gt;
 DATA lv_tabix TYPE sy-tabix.&lt;BR /&gt;
 DATA lv_lines TYPE sy-tabix.&lt;BR /&gt;
 DATA :lt_acdoca_tmp TYPE tty_acdoca.&lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
 CONSTANTS l_zc TYPE bkpf-blart VALUE 'ZC'.&lt;BR /&gt;
*** Begin of Chaitanya - 24112019&lt;BR /&gt;
 DATA: gt_zfibrsdates TYPE STANDARD TABLE OF zfibrsdates,&lt;BR /&gt;
 gw_zfibrsdates TYPE zfibrsdates.&lt;BR /&gt;
*** End of Chaitanya - 24112019&lt;BR /&gt;
&lt;BR /&gt;
 i_auglv = 'UMBUCHNG'.&lt;BR /&gt;
 i_tcode = 'FB05'.&lt;BR /&gt;
&lt;BR /&gt;
 LOOP AT p_t_acdoca INTO lw_acdoca.&lt;BR /&gt;
 lv_tabix = sy-tabix.&lt;BR /&gt;
&lt;BR /&gt;
 CLEAR : lv_hsl, lv_bschl,w_blntab,w_ftclear,lv_msg.&lt;BR /&gt;
 REFRESH : t_blntab, t_ftclear,t_ftpost.&lt;BR /&gt;
 w_blntab-belnr = lw_acdoca-belnr.&lt;BR /&gt;
 w_blntab-bukrs = lw_acdoca-rbukrs.&lt;BR /&gt;
 w_blntab-gjahr = lw_acdoca-gjahr.&lt;BR /&gt;
 APPEND w_blntab TO t_blntab.&lt;BR /&gt;
 w_ftclear-agkoa = 'S'.&lt;BR /&gt;
 w_ftclear-agkon = lw_acdoca-racct. "p_acdoca-racct.&lt;BR /&gt;
 w_ftclear-agbuk = p_bukrs.&lt;BR /&gt;
 w_ftclear-xnops = 'X'.&lt;BR /&gt;
 IF lw_acdoca-blart = l_zc.&lt;BR /&gt;
 w_ftclear-selfd = 'BELNR'.&lt;BR /&gt;
 w_ftclear-selvon = lw_acdoca-belnr.&lt;BR /&gt;
 ELSE.&lt;BR /&gt;
 w_ftclear-selfd = 'ZUONR'.&lt;BR /&gt;
 w_ftclear-selvon = lw_acdoca-zuonr. "p_acdoca-belnr.&lt;BR /&gt;
 ENDIF.&lt;BR /&gt;
 APPEND w_ftclear TO t_ftclear.&lt;BR /&gt;
 lv_hsl = lv_hsl + lw_acdoca-hsl.&lt;BR /&gt;
 lv_bschl = lw_acdoca-bschl.&lt;BR /&gt;
&lt;BR /&gt;
 CLEAR w_ftpost.&lt;BR /&gt;
 w_ftpost-stype = 'K'.&lt;BR /&gt;
 w_ftpost-count = '001'.&lt;BR /&gt;
&lt;BR /&gt;
 CLEAR: w_ftpost-fnam, w_ftpost-fval.&lt;BR /&gt;
 w_ftpost-fnam = 'BKPF-BLDAT'.&lt;BR /&gt;
 CONCATENATE p_budat+6(2) p_budat+4(2) p_budat(4) INTO w_ftpost-fval.&lt;BR /&gt;
 APPEND w_ftpost TO t_ftpost.&lt;BR /&gt;
&lt;BR /&gt;
 CLEAR: w_ftpost-fnam, w_ftpost-fval.&lt;BR /&gt;
 w_ftpost-fnam = 'BKPF-BUDAT'.&lt;BR /&gt;
 CONCATENATE p_budat+6(2) p_budat+4(2) p_budat(4) INTO w_ftpost-fval.&lt;BR /&gt;
 APPEND w_ftpost TO t_ftpost.&lt;BR /&gt;
&lt;BR /&gt;
 CLEAR: w_ftpost-fnam, w_ftpost-fval.&lt;BR /&gt;
 w_ftpost-fnam = 'BKPF-BLART'.&lt;BR /&gt;
 w_ftpost-fval = 'SA'.&lt;BR /&gt;
 APPEND w_ftpost TO t_ftpost.&lt;BR /&gt;
&lt;BR /&gt;
 CLEAR: w_ftpost-fnam, w_ftpost-fval.&lt;BR /&gt;
 w_ftpost-fnam = 'BKPF-BUKRS'.&lt;BR /&gt;
 w_ftpost-fval = p_bukrs.&lt;BR /&gt;
 APPEND w_ftpost TO t_ftpost.&lt;BR /&gt;
&lt;BR /&gt;
 SELECT SINGLE waers&lt;BR /&gt;
 FROM t001&lt;BR /&gt;
 INTO @DATA(lv_waers)&lt;BR /&gt;
 WHERE bukrs = @p_bukrs.&lt;BR /&gt;
&lt;BR /&gt;
 IF NOT lw_acdoca-rwcur IS INITIAL AND&lt;BR /&gt;
 lw_acdoca-rwcur NE lv_waers.&lt;BR /&gt;
 CLEAR: lv_hsl .&lt;BR /&gt;
 lv_hsl = lw_acdoca-wsl.&lt;BR /&gt;
 lv_waers = lw_acdoca-rwcur.&lt;BR /&gt;
 ENDIF.&lt;BR /&gt;
 CLEAR: w_ftpost-fnam, w_ftpost-fval.&lt;BR /&gt;
 w_ftpost-fnam = 'BKPF-WAERS'.&lt;BR /&gt;
 w_ftpost-fval = lv_waers.&lt;BR /&gt;
 APPEND w_ftpost TO t_ftpost.&lt;BR /&gt;
&lt;BR /&gt;
 CLEAR: w_ftpost-fnam, w_ftpost-fval.&lt;BR /&gt;
 w_ftpost-stype = 'P'.&lt;BR /&gt;
 w_ftpost-fnam = 'RF05A-NEWBS'.&lt;BR /&gt;
 w_ftpost-fval = lv_bschl.&lt;BR /&gt;
 APPEND w_ftpost TO t_ftpost.&lt;BR /&gt;
&lt;BR /&gt;
 CLEAR: w_ftpost-fnam, w_ftpost-fval.&lt;BR /&gt;
 w_ftpost-stype = 'P'.&lt;BR /&gt;
 w_ftpost-fnam = 'RF05A-NEWKO'.&lt;BR /&gt;
 w_ftpost-fval = gw_in_out_gls-racct_m.&lt;BR /&gt;
 APPEND w_ftpost TO t_ftpost.&lt;BR /&gt;
&lt;BR /&gt;
 CLEAR: w_ftpost-fnam, w_ftpost-fval. "Calculate&lt;BR /&gt;
 w_ftpost-fnam = 'BSEG-WRBTR'.&lt;BR /&gt;
 IF lv_hsl LT 0.&lt;BR /&gt;
 w_ftpost-fval = 0 - lv_hsl.&lt;BR /&gt;
 ELSE.&lt;BR /&gt;
 w_ftpost-fval = lv_hsl.&lt;BR /&gt;
 ENDIF.&lt;BR /&gt;
 CONDENSE w_ftpost-fval.&lt;BR /&gt;
 APPEND w_ftpost TO t_ftpost.&lt;BR /&gt;
&lt;BR /&gt;
 CLEAR: w_ftpost-fnam, w_ftpost-fval.&lt;BR /&gt;
 w_ftpost-fnam = 'COBL-GSBER'.&lt;BR /&gt;
 w_ftpost-fval = lw_acdoca-rbusa.&lt;BR /&gt;
 APPEND w_ftpost TO t_ftpost.&lt;BR /&gt;
&lt;BR /&gt;
 CLEAR: w_ftpost-fnam, w_ftpost-fval.&lt;BR /&gt;
 w_ftpost-fnam = 'COBL-PRCTR'.&lt;BR /&gt;
 w_ftpost-fval = lw_acdoca-prctr.&lt;BR /&gt;
 APPEND w_ftpost TO t_ftpost.&lt;BR /&gt;
*&amp;amp;-- Begin of change "&lt;BR /&gt;
 CLEAR:lw_acdoca_tmp, lv_count.&lt;BR /&gt;
 LOOP AT p_t_acdoca_temp INTO lw_acdoca_tmp&lt;BR /&gt;
 WHERE belnr = lw_acdoca-belnr&lt;BR /&gt;
 AND rbukrs = lw_acdoca-rbukrs&lt;BR /&gt;
 AND gjahr = lw_acdoca-gjahr.&lt;BR /&gt;
 CLEAR lv_hsl.&lt;BR /&gt;
 lv_hsl = lw_acdoca_tmp-hsl.&lt;BR /&gt;
 IF NOT lw_acdoca_tmp-rwcur IS INITIAL AND&lt;BR /&gt;
 lw_acdoca_tmp-rwcur NE lv_waers.&lt;BR /&gt;
 CLEAR: lv_hsl .&lt;BR /&gt;
 lv_hsl = lw_acdoca_tmp-wsl.&lt;BR /&gt;
 ENDIF.&lt;BR /&gt;
 CLEAR: w_ftpost-fnam, w_ftpost-fval.&lt;BR /&gt;
 w_ftpost-stype = 'P'.&lt;BR /&gt;
 w_ftpost-fnam = 'RF05A-NEWBS'.&lt;BR /&gt;
 w_ftpost-count = w_ftpost-count + 1.&lt;BR /&gt;
 w_ftpost-fval = lv_bschl.&lt;BR /&gt;
 APPEND w_ftpost TO t_ftpost.&lt;BR /&gt;
&lt;BR /&gt;
 CLEAR: w_ftpost-fnam, w_ftpost-fval.&lt;BR /&gt;
 w_ftpost-fnam = 'RF05A-NEWKO'.&lt;BR /&gt;
 w_ftpost-fval = gw_in_out_gls-racct_m.&lt;BR /&gt;
 APPEND w_ftpost TO t_ftpost.&lt;BR /&gt;
&lt;BR /&gt;
 CLEAR: w_ftpost-fnam, w_ftpost-fval. "Calculate&lt;BR /&gt;
 w_ftpost-fnam = 'BSEG-WRBTR'.&lt;BR /&gt;
 IF lv_hsl LT 0.&lt;BR /&gt;
 w_ftpost-fval = 0 - lv_hsl.&lt;BR /&gt;
 ELSE.&lt;BR /&gt;
 w_ftpost-fval = lv_hsl.&lt;BR /&gt;
 ENDIF.&lt;BR /&gt;
 CONDENSE w_ftpost-fval.&lt;BR /&gt;
 APPEND w_ftpost TO t_ftpost.&lt;BR /&gt;
&lt;BR /&gt;
 CLEAR: w_ftpost-fnam, w_ftpost-fval.&lt;BR /&gt;
 w_ftpost-fnam = 'COBL-GSBER'.&lt;BR /&gt;
 w_ftpost-fval = lw_acdoca_tmp-rbusa.&lt;BR /&gt;
 APPEND w_ftpost TO t_ftpost.&lt;BR /&gt;
&lt;BR /&gt;
 CLEAR: w_ftpost-fnam, w_ftpost-fval.&lt;BR /&gt;
 w_ftpost-fnam = 'COBL-PRCTR'.&lt;BR /&gt;
 w_ftpost-fval = lw_acdoca_tmp-prctr.&lt;BR /&gt;
 APPEND w_ftpost TO t_ftpost.&lt;BR /&gt;
 CLEAR lw_acdoca_tmp.&lt;BR /&gt;
 ENDLOOP.&lt;BR /&gt;
*&amp;amp;-- End of change "&lt;BR /&gt;
 CALL FUNCTION 'POSTING_INTERFACE_START'&lt;BR /&gt;
 EXPORTING&lt;BR /&gt;
 i_client = sy-mandt&lt;BR /&gt;
 i_function = 'C'&lt;BR /&gt;
 i_mode = p_mode "'N'&lt;BR /&gt;
 i_user = sy-uname&lt;BR /&gt;
 EXCEPTIONS&lt;BR /&gt;
 client_incorrect = 1&lt;BR /&gt;
 function_invalid = 2&lt;BR /&gt;
 group_name_missing = 3&lt;BR /&gt;
 mode_invalid = 4&lt;BR /&gt;
 update_invalid = 5&lt;BR /&gt;
 user_invalid = 6&lt;BR /&gt;
 OTHERS = 7.&lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
 CALL FUNCTION 'POSTING_INTERFACE_CLEARING'&lt;BR /&gt;
 EXPORTING&lt;BR /&gt;
 i_auglv = i_auglv&lt;BR /&gt;
 i_tcode = i_tcode&lt;BR /&gt;
 i_sgfunct = 'C'&lt;BR /&gt;
 IMPORTING&lt;BR /&gt;
 e_msgid = e_msgid&lt;BR /&gt;
 e_msgno = e_msgno&lt;BR /&gt;
 e_msgty = e_msgty&lt;BR /&gt;
 e_msgv1 = e_msgv1&lt;BR /&gt;
 e_msgv2 = e_msgv2&lt;BR /&gt;
 e_msgv3 = e_msgv3&lt;BR /&gt;
 e_msgv4 = e_msgv4&lt;BR /&gt;
 e_subrc = e_subrc&lt;BR /&gt;
 TABLES&lt;BR /&gt;
 t_blntab = t_blntab&lt;BR /&gt;
 t_ftclear = t_ftclear&lt;BR /&gt;
 t_ftpost = t_ftpost&lt;BR /&gt;
 t_fttax = t_fttax&lt;BR /&gt;
 EXCEPTIONS&lt;BR /&gt;
 clearing_procedure_invalid = 1&lt;BR /&gt;
 clearing_procedure_missing = 2&lt;BR /&gt;
 table_t041a_empty = 3&lt;BR /&gt;
 transaction_code_invalid = 4&lt;BR /&gt;
 amount_format_error = 5&lt;BR /&gt;
 too_many_line_items = 6&lt;BR /&gt;
 company_code_invalid = 7&lt;BR /&gt;
 screen_not_found = 8&lt;BR /&gt;
 no_authorization = 9&lt;BR /&gt;
 OTHERS = 10.&lt;BR /&gt;
&lt;BR /&gt;
 CALL FUNCTION 'POSTING_INTERFACE_END'&lt;BR /&gt;
 EXPORTING&lt;BR /&gt;
 i_bdcimmed = 'X'&lt;BR /&gt;
 EXCEPTIONS&lt;BR /&gt;
 session_not_processable = 1&lt;BR /&gt;
 OTHERS = 2.&lt;BR /&gt;
&lt;BR /&gt;
 IF e_subrc IS NOT INITIAL.&lt;BR /&gt;
 CLEAR lv_msg.&lt;BR /&gt;
 CALL FUNCTION 'FORMAT_MESSAGE'&lt;BR /&gt;
 EXPORTING&lt;BR /&gt;
 id = sy-msgid&lt;BR /&gt;
 lang = sy-langu&lt;BR /&gt;
 no = sy-msgno&lt;BR /&gt;
 v1 = sy-msgv1&lt;BR /&gt;
 v2 = sy-msgv2&lt;BR /&gt;
 v3 = sy-msgv3&lt;BR /&gt;
 v4 = sy-msgv4&lt;BR /&gt;
 IMPORTING&lt;BR /&gt;
 msg = lv_msg&lt;BR /&gt;
 EXCEPTIONS&lt;BR /&gt;
 not_found = 1&lt;BR /&gt;
 OTHERS = 2.&lt;BR /&gt;
 IF sy-subrc &amp;lt;&amp;gt; 0.&lt;BR /&gt;
* Implement suitable error handling here&lt;BR /&gt;
 ENDIF.&lt;BR /&gt;
 READ TABLE gt_acdoca ASSIGNING &amp;lt;fs_acdoca&amp;gt; WITH KEY belnr = lw_acdoca-belnr&lt;BR /&gt;
 gjahr = lw_acdoca-gjahr&lt;BR /&gt;
 docln = lw_acdoca-docln&lt;BR /&gt;
 BINARY SEARCH.&lt;BR /&gt;
 IF sy-subrc = 0.&lt;BR /&gt;
 &amp;lt;fs_acdoca&amp;gt;-msg = lv_msg.&lt;BR /&gt;
 ENDIF.&lt;BR /&gt;
 ELSE.&lt;BR /&gt;
 IF p_bukrs EQ 'A010'.&lt;BR /&gt;
 gw_zfibrsdates-bukrs = p_bukrs.&lt;BR /&gt;
 gw_zfibrsdates-hkont = p_racct.&lt;BR /&gt;
 gw_zfibrsdates-tcode = sy-tcode.&lt;BR /&gt;
 gw_zfibrsdates-budat = p_keydt.&lt;BR /&gt;
 MODIFY zfibrsdates FROM gw_zfibrsdates.&lt;BR /&gt;
 COMMIT WORK.&lt;BR /&gt;
 CLEAR: gw_zfibrsdates.&lt;BR /&gt;
 ENDIF.&lt;BR /&gt;
 ENDIF.&lt;BR /&gt;
 CLEAR : lw_acdoca.&lt;BR /&gt;
 ENDLOOP.&lt;BR /&gt;
ENDFORM.&lt;/P&gt;</description>
    <pubDate>Mon, 27 Jan 2020 07:21:11 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2020-01-27T07:21:11Z</dc:date>
    <item>
      <title>field values not getting sorted</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/field-values-not-getting-sorted/m-p/12194116#M1981062</link>
      <description>&lt;P&gt;In the input screen when we give the value of document type which takes the value from acdoca table after we get the output in the document type field doesnt work well with the filtering.&lt;/P&gt;
  &lt;P&gt;The data in the output is not getting filtered according to what value we are giving in the input.&lt;/P&gt;
  &lt;P&gt;If we give ZI as the value for document field then it should filter only ZI in the output which is not happening &lt;/P&gt;</description>
      <pubDate>Mon, 27 Jan 2020 06:31:24 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/field-values-not-getting-sorted/m-p/12194116#M1981062</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2020-01-27T06:31:24Z</dc:date>
    </item>
    <item>
      <title>Re: field values not getting sorted</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/field-values-not-getting-sorted/m-p/12194117#M1981063</link>
      <description>&lt;P&gt;Could you please post the source code of your problem, without it will not be possible to answer&lt;/P&gt;</description>
      <pubDate>Mon, 27 Jan 2020 07:01:41 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/field-values-not-getting-sorted/m-p/12194117#M1981063</guid>
      <dc:creator>FredericGirod</dc:creator>
      <dc:date>2020-01-27T07:01:41Z</dc:date>
    </item>
    <item>
      <title>Re: field values not getting sorted</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/field-values-not-getting-sorted/m-p/12194118#M1981064</link>
      <description>&lt;P&gt;TABLES: acdoca.&lt;BR /&gt;&lt;BR /&gt;
TYPES : BEGIN OF ty_acdoca,&lt;BR /&gt;
 chk TYPE flag.&lt;BR /&gt;
 INCLUDE STRUCTURE zfi_acdoca_opn_itms.&lt;BR /&gt;
&lt;BR /&gt;
 TYPES : END OF ty_acdoca.&lt;BR /&gt;
&lt;BR /&gt;
TYPES : tty_acdoca TYPE STANDARD TABLE OF ty_acdoca.&lt;BR /&gt;
&lt;BR /&gt;
DATA : gw_in_out_gls TYPE zfi_in_out_gls,&lt;BR /&gt;
 gw_acdoca TYPE ty_acdoca,&lt;BR /&gt;
 gt_acdoca TYPE STANDARD TABLE OF ty_acdoca,&lt;BR /&gt;
 gt_bal TYPE STANDARD TABLE OF zfi_opn_cls_bal,&lt;BR /&gt;
 gt_acdoca_tmp TYPE STANDARD TABLE OF ty_acdoca.&lt;BR /&gt;
&lt;BR /&gt;
DATA : gt_fldcat TYPE slis_t_fieldcat_alv.&lt;BR /&gt;
&lt;BR /&gt;
SELECTION-SCREEN : BEGIN OF BLOCK b1 WITH FRAME TITLE TEXT-001.&lt;BR /&gt;
PARAMETERS : p_bukrs TYPE bukrs OBLIGATORY,&lt;BR /&gt;
 p_rbusa TYPE gsber OBLIGATORY.&lt;BR /&gt;
SELECTION-SCREEN: COMMENT 40(30) t_rbusa.&lt;BR /&gt;
PARAMETERS : p_racct TYPE saknr OBLIGATORY.&lt;BR /&gt;
SELECTION-SCREEN: COMMENT 45(30) t_racct.&lt;BR /&gt;
PARAMETERS : p_keydt TYPE datum OBLIGATORY,&lt;BR /&gt;
 p_budat TYPE budat OBLIGATORY.&lt;BR /&gt;
* Begin of Nidhi Raj 23.01.2020&lt;BR /&gt;
SELECT-OPTIONS: s_blart FOR acdoca-blart NO INTERVALS.&lt;BR /&gt;
* End of Nidhi Raj 23.01.2020&lt;BR /&gt;
* p_opnbal TYPE zopen_bal OBLIGATORY,&lt;BR /&gt;
PARAMETERS: p_clsbal TYPE zclose_bal OBLIGATORY,&lt;BR /&gt;
 p_bas TYPE zopen_bal,&lt;BR /&gt;
 p_diff TYPE zopen_bal,&lt;BR /&gt;
 p_mode TYPE rfpdo-allgazmd DEFAULT 'N'.&lt;BR /&gt;
SELECTION-SCREEN : END OF BLOCK b1.&lt;BR /&gt;
FIELD-SYMBOLS : &amp;lt;fs_acdoca&amp;gt; TYPE ty_acdoca.&lt;/P&gt;</description>
      <pubDate>Mon, 27 Jan 2020 07:17:52 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/field-values-not-getting-sorted/m-p/12194118#M1981064</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2020-01-27T07:17:52Z</dc:date>
    </item>
    <item>
      <title>Re: field values not getting sorted</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/field-values-not-getting-sorted/m-p/12194119#M1981065</link>
      <description>&lt;P&gt;&lt;SPAN class="mention-scrubbed"&gt;nidhi1994&lt;/SPAN&gt;,&lt;/P&gt;&lt;P&gt;May be you are not passing the document type while selecting the entries.&lt;/P&gt;&lt;P&gt;Can you please share your code , to help you better!&lt;/P&gt;&lt;P&gt;Regards!&lt;/P&gt;</description>
      <pubDate>Mon, 27 Jan 2020 07:18:25 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/field-values-not-getting-sorted/m-p/12194119#M1981065</guid>
      <dc:creator>former_member1716</dc:creator>
      <dc:date>2020-01-27T07:18:25Z</dc:date>
    </item>
    <item>
      <title>Re: field values not getting sorted</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/field-values-not-getting-sorted/m-p/12194120#M1981066</link>
      <description>&lt;P&gt;&lt;BR /&gt;
FORM get_opnbal .&lt;BR /&gt;
 RANGES r_racct FOR acdoca-racct.&lt;BR /&gt;
 DATA lv_hsl TYPE acdoca-hsl.&lt;BR /&gt;
*break pwcsd3.&lt;BR /&gt;
 SELECT *&lt;BR /&gt;
 FROM zfi_opn_cls_bal&lt;BR /&gt;
 INTO TABLE gt_bal&lt;BR /&gt;
 WHERE bukrs = p_bukrs.&lt;BR /&gt;
 IF sy-subrc = 0.&lt;BR /&gt;
 SORT gt_bal BY key_date DESCENDING.&lt;BR /&gt;
* READ TABLE gt_bal INTO DATA(lw_bal) INDEX 1.&lt;BR /&gt;
* IF sy-subrc = 0.&lt;BR /&gt;
** p_opnbal = lw_bal-close_bal.&lt;BR /&gt;
* ENDIF.&lt;BR /&gt;
* ELSE.&lt;BR /&gt;
* p_opnbal = 0.&lt;BR /&gt;
 ENDIF.&lt;BR /&gt;
 SELECT SINGLE gtext FROM tgsbt INTO t_rbusa&lt;BR /&gt;
 WHERE gsber EQ p_rbusa.&lt;BR /&gt;
 SELECT SINGLE txt20 FROM skat INTO t_racct&lt;BR /&gt;
 WHERE saknr = p_racct.&lt;BR /&gt;
* LOOP AT SCREEN.&lt;BR /&gt;
* IF screen-name = 'P_OPNBAL'.&lt;BR /&gt;
* screen-input = 0.&lt;BR /&gt;
* MODIFY SCREEN.&lt;BR /&gt;
* ENDIF.&lt;BR /&gt;
* ENDLOOP.&lt;BR /&gt;
 LOOP AT SCREEN.&lt;BR /&gt;
 IF screen-name = 'P_BAS' OR screen-name = 'P_DIFF'.&lt;BR /&gt;
 screen-input = 0.&lt;BR /&gt;
 MODIFY SCREEN.&lt;BR /&gt;
 ENDIF.&lt;BR /&gt;
 ENDLOOP.&lt;BR /&gt;
 CLEAR gw_in_out_gls.&lt;BR /&gt;
 SELECT SINGLE *&lt;BR /&gt;
 FROM zfi_in_out_gls&lt;BR /&gt;
 INTO gw_in_out_gls&lt;BR /&gt;
 WHERE bukrs = p_bukrs&lt;BR /&gt;
 AND rbusa = p_rbusa&lt;BR /&gt;
 AND racct_m = p_racct.&lt;BR /&gt;
 IF gw_in_out_gls IS NOT INITIAL.&lt;BR /&gt;
 CLEAR r_racct.&lt;BR /&gt;
 r_racct-low = gw_in_out_gls-racct_m.&lt;BR /&gt;
 r_racct-sign = 'I'.&lt;BR /&gt;
 r_racct-option = 'EQ'.&lt;BR /&gt;
 APPEND r_racct .&lt;BR /&gt;
 CLEAR r_racct-low.&lt;BR /&gt;
 r_racct-low = gw_in_out_gls-racct_in.&lt;BR /&gt;
 APPEND r_racct .&lt;BR /&gt;
 CLEAR r_racct-low.&lt;BR /&gt;
 r_racct-low = gw_in_out_gls-racct_out.&lt;BR /&gt;
 APPEND r_racct .&lt;BR /&gt;
&lt;BR /&gt;
 IF r_racct IS NOT INITIAL.&lt;BR /&gt;
 SELECT rbukrs, gjahr, belnr, docln,budat,blart,hsl FROM acdoca INTO TABLE @DATA(it_bas)&lt;BR /&gt;
 WHERE rbukrs = @p_bukrs&lt;BR /&gt;
 AND rbusa = @p_rbusa&lt;BR /&gt;
 AND racct IN @r_racct&lt;BR /&gt;
 AND budat LE @p_keydt&lt;BR /&gt;
 AND blart IN @s_blart.&lt;BR /&gt;
 SORT it_bas.&lt;BR /&gt;
 DELETE it_bas WHERE budat IS INITIAL.&lt;BR /&gt;
 IF it_bas IS NOT INITIAL.&lt;BR /&gt;
 LOOP AT it_bas INTO DATA(ls_bas).&lt;BR /&gt;
 lv_hsl = lv_hsl + ls_bas-hsl.&lt;BR /&gt;
 CLEAR ls_bas.&lt;BR /&gt;
 ENDLOOP.&lt;BR /&gt;
 p_bas = lv_hsl.&lt;BR /&gt;
 ELSE.&lt;BR /&gt;
 p_bas = 0.&lt;BR /&gt;
 ENDIF.&lt;BR /&gt;
 ENDIF.&lt;BR /&gt;
 p_diff = p_bas - p_clsbal.&lt;BR /&gt;
&lt;BR /&gt;
 ENDIF.&lt;BR /&gt;
ENDFORM.&lt;BR /&gt;&lt;BR /&gt;
FORM fetch_data .&lt;BR /&gt;
&lt;BR /&gt;
 DATA : lt_acdoca TYPE STANDARD TABLE OF zfi_acdoca_opn_itms,&lt;BR /&gt;
 lt_acdoca_tmp TYPE STANDARD TABLE OF ty_acdoca.&lt;BR /&gt;
&lt;BR /&gt;
 SELECT SINGLE *&lt;BR /&gt;
 FROM zfi_in_out_gls&lt;BR /&gt;
 INTO gw_in_out_gls&lt;BR /&gt;
 WHERE bukrs = p_bukrs&lt;BR /&gt;
 AND rbusa = p_rbusa&lt;BR /&gt;
 AND racct_m = p_racct.&lt;BR /&gt;
&lt;BR /&gt;
 IF sy-subrc = 0.&lt;BR /&gt;
 CALL FUNCTION 'ZGL_OPENING_CLOSING_BAL_KEYDAT'&lt;BR /&gt;
 EXPORTING&lt;BR /&gt;
 comp = p_bukrs&lt;BR /&gt;
 date = p_keydt&lt;BR /&gt;
 acct = gw_in_out_gls-racct_in "Incoming G/L&lt;BR /&gt;
 rbusa = p_rbusa&lt;BR /&gt;
 TABLES&lt;BR /&gt;
 it_acdoca = lt_acdoca&lt;BR /&gt;
 EXCEPTIONS&lt;BR /&gt;
 no_data_found = 1&lt;BR /&gt;
 OTHERS = 2.&lt;BR /&gt;
 IF sy-subrc = 0.&lt;BR /&gt;
 gt_acdoca[] = CORRESPONDING #( lt_acdoca[] ).&lt;BR /&gt;
 REFRESH lt_acdoca.&lt;BR /&gt;
 ENDIF.&lt;BR /&gt;
 CALL FUNCTION 'ZGL_OPENING_CLOSING_BAL_KEYDAT'&lt;BR /&gt;
 EXPORTING&lt;BR /&gt;
 comp = p_bukrs&lt;BR /&gt;
 date = p_keydt&lt;BR /&gt;
 acct = gw_in_out_gls-racct_out "Outgoing G/L&lt;BR /&gt;
 rbusa = p_rbusa&lt;BR /&gt;
 TABLES&lt;BR /&gt;
 it_acdoca = lt_acdoca&lt;BR /&gt;
 EXCEPTIONS&lt;BR /&gt;
 no_data_found = 1&lt;BR /&gt;
 OTHERS = 2.&lt;BR /&gt;
 IF sy-subrc = 0.&lt;BR /&gt;
 lt_acdoca_tmp[] = CORRESPONDING #( lt_acdoca[] ).&lt;BR /&gt;
 APPEND LINES OF lt_acdoca_tmp TO gt_acdoca.&lt;BR /&gt;
 REFRESH lt_acdoca.&lt;BR /&gt;
 ENDIF.&lt;BR /&gt;
 ENDIF.&lt;BR /&gt;
 DELETE gt_acdoca WHERE blart NOT IN s_blart.&lt;BR /&gt;
 IF gt_acdoca IS INITIAL.&lt;BR /&gt;
 MESSAGE s398(00) WITH 'No data found' DISPLAY LIKE 'E'.&lt;BR /&gt;
 LEAVE LIST-PROCESSING.&lt;BR /&gt;
 ENDIF.&lt;BR /&gt;
&lt;BR /&gt;
ENDFORM.&lt;BR /&gt;&lt;BR /&gt;
FORM pf_stat USING rt_extab TYPE slis_t_extab.&lt;BR /&gt;
&lt;BR /&gt;
 SET PF-STATUS 'ZPF'.&lt;BR /&gt;
&lt;BR /&gt;
ENDFORM.&lt;BR /&gt;
*&amp;amp;---------------------------------------------------------------------*&lt;BR /&gt;
*&amp;amp; Form FIELD_CATALOG&lt;BR /&gt;
*&amp;amp;---------------------------------------------------------------------*&lt;BR /&gt;
*&amp;amp; text&lt;BR /&gt;
*&amp;amp;---------------------------------------------------------------------*&lt;BR /&gt;
*&amp;amp; --&amp;gt; P_FLDNAME&lt;BR /&gt;
*&amp;amp; --&amp;gt; P_DESC&lt;BR /&gt;
*&amp;amp;---------------------------------------------------------------------*&lt;BR /&gt;
FORM field_catalog USING VALUE(p_fldname)&lt;BR /&gt;
 VALUE(p_desc).&lt;BR /&gt;
 DATA : lw_fldcat TYPE slis_fieldcat_alv.&lt;BR /&gt;
&lt;BR /&gt;
 lw_fldcat-fieldname = p_fldname.&lt;BR /&gt;
 lw_fldcat-seltext_l = p_desc.&lt;BR /&gt;
 IF p_fldname = 'BELNR'.&lt;BR /&gt;
 lw_fldcat-hotspot = 'X'.&lt;BR /&gt;
 ELSEIF p_fldname = 'CHK'.&lt;BR /&gt;
 lw_fldcat-checkbox = 'X'.&lt;BR /&gt;
 lw_fldcat-edit = 'X'.&lt;BR /&gt;
 lw_fldcat-outputlen = 3.&lt;BR /&gt;
 ENDIF.&lt;BR /&gt;
 APPEND lw_fldcat TO gt_fldcat.&lt;BR /&gt;
 CLEAR lw_fldcat.&lt;BR /&gt;
&lt;BR /&gt;
ENDFORM.&lt;BR /&gt;&lt;BR /&gt;
FORM display_data .&lt;BR /&gt;
&lt;BR /&gt;
 DATA : lw_layout TYPE slis_layout_alv.&lt;BR /&gt;
&lt;BR /&gt;
 lw_layout-zebra = 'X'.&lt;BR /&gt;
* lw_layout-box_fieldname = 'CHK'.&lt;BR /&gt;
&lt;BR /&gt;
 PERFORM field_catalog USING : 'CHK' 'Select',&lt;BR /&gt;
 'RBUKRS' 'Company Code',&lt;BR /&gt;
 'BELNR' 'Doc. Number',&lt;BR /&gt;
 'DOCLN' ' Item Number',&lt;BR /&gt;
 'GJAHR' 'Fiscal Year',&lt;BR /&gt;
 'BLART' 'Doc. Type',&lt;BR /&gt;
 'RACCT' 'Account Number',&lt;BR /&gt;
 'BUDAT' 'Posting Date',&lt;BR /&gt;
 'RBUSA' 'B. Area',&lt;BR /&gt;
 'PRCTR' 'Profit Ctr',&lt;BR /&gt;
* Begin of Nidhi 15-11-2019&lt;BR /&gt;
 'RWCUR' 'Document Currency',&lt;BR /&gt;
 'WSL' 'Amount in Document Currency',&lt;BR /&gt;
 'RHCUR' 'Local Currency',&lt;BR /&gt;
* End of Nidhi 15-11-2019&lt;BR /&gt;
 'HSL' 'Amt. in Local Cur.',&lt;BR /&gt;
 'BSCHL' 'P. Key',&lt;BR /&gt;
 'AUGBL' 'Clearing Doc. No.',&lt;BR /&gt;
 'AUGDT' 'Clearing Date',&lt;BR /&gt;
&lt;BR /&gt;
 'SGTXT' 'Text',&lt;BR /&gt;
 'MSG' 'Remarks'.&lt;BR /&gt;
* 'ZUONR' 'Assignment'.&lt;BR /&gt;
* .&lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
 SORT gt_acdoca BY belnr gjahr docln.&lt;BR /&gt;
 lw_layout-colwidth_optimize = abap_true.&lt;BR /&gt;
 CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'&lt;BR /&gt;
 EXPORTING&lt;BR /&gt;
 i_callback_program = sy-repid&lt;BR /&gt;
 i_callback_pf_status_set = 'PF_STAT'&lt;BR /&gt;
 i_callback_user_command = 'USER_COMM'&lt;BR /&gt;
 is_layout = lw_layout&lt;BR /&gt;
 it_fieldcat = gt_fldcat&lt;BR /&gt;
 TABLES&lt;BR /&gt;
 t_outtab = gt_acdoca&lt;BR /&gt;
 EXCEPTIONS&lt;BR /&gt;
 program_error = 1&lt;BR /&gt;
 OTHERS = 2.&lt;BR /&gt;
&lt;BR /&gt;
ENDFORM.&lt;BR /&gt;&lt;BR /&gt;
FORM user_comm USING syst-ucomm LIKE syst-ucomm&lt;BR /&gt;
 selfield TYPE slis_selfield.&lt;BR /&gt;
&lt;BR /&gt;
 DATA : ref_grid TYPE REF TO cl_gui_alv_grid,&lt;BR /&gt;
 lt_acdoca TYPE STANDARD TABLE OF ty_acdoca,&lt;BR /&gt;
 lt_acdoca_temp TYPE STANDARD TABLE OF ty_acdoca,&lt;BR /&gt;
 lt_acdoca2 TYPE STANDARD TABLE OF ty_acdoca,&lt;BR /&gt;
 lw_acdoca TYPE ty_acdoca,&lt;BR /&gt;
 lw_acdoca1 TYPE ty_acdoca,&lt;BR /&gt;
 lw_bal TYPE zfi_opn_cls_bal,&lt;BR /&gt;
 lv_opn TYPE char50,&lt;BR /&gt;
 lv_cls TYPE char50,&lt;BR /&gt;
 lv_recon TYPE char50,&lt;BR /&gt;
 lv_unrecon TYPE char50,&lt;BR /&gt;
 lv_opnbal TYPE char26,&lt;BR /&gt;
 lv_clsbal TYPE char26,&lt;BR /&gt;
 lv_reconbal TYPE char26,&lt;BR /&gt;
 lv_unreconbal TYPE char26,&lt;BR /&gt;
 lv_hsl TYPE fins_vhcur12,&lt;BR /&gt;
 lv_lines TYPE i,&lt;BR /&gt;
 lv_tabix TYPE sy-tabix.&lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
 IF ref_grid IS INITIAL.&lt;BR /&gt;
 CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'&lt;BR /&gt;
 IMPORTING&lt;BR /&gt;
 e_grid = ref_grid.&lt;BR /&gt;
 ENDIF.&lt;BR /&gt;
&lt;BR /&gt;
 IF NOT ref_grid IS INITIAL.&lt;BR /&gt;
 CALL METHOD ref_grid-&amp;gt;check_changed_data.&lt;BR /&gt;
 ENDIF.&lt;BR /&gt;
&lt;BR /&gt;
 CASE syst-ucomm.&lt;BR /&gt;
 WHEN '&amp;amp;IC1'.&lt;BR /&gt;
 READ TABLE gt_acdoca INTO lw_acdoca INDEX selfield-tabindex.&lt;BR /&gt;
 IF sy-subrc = 0.&lt;BR /&gt;
 SET PARAMETER ID : 'BLN' FIELD lw_acdoca-belnr,&lt;BR /&gt;
 'BUK' FIELD lw_acdoca-rbukrs,&lt;BR /&gt;
 'GJR' FIELD lw_acdoca-gjahr.&lt;BR /&gt;
 CALL TRANSACTION 'FB03' AND SKIP FIRST SCREEN.&lt;BR /&gt;
 CLEAR lw_acdoca.&lt;BR /&gt;
 ENDIF.&lt;BR /&gt;
 WHEN 'BALANCES'.&lt;BR /&gt;
 REFRESH lt_acdoca.&lt;BR /&gt;
 lt_acdoca[] = gt_acdoca[].&lt;BR /&gt;
 DELETE lt_acdoca WHERE chk NE 'X'.&lt;BR /&gt;
 IF lt_acdoca IS INITIAL.&lt;BR /&gt;
 MESSAGE e398(00) WITH 'Please select atleast one line'.&lt;BR /&gt;
 ENDIF.&lt;BR /&gt;
* lv_opnbal = p_opnbal.&lt;BR /&gt;
 lv_clsbal = p_clsbal.&lt;BR /&gt;
 CLEAR lv_hsl.&lt;BR /&gt;
 DATA(lt_acdoca1) = lt_acdoca[].&lt;BR /&gt;
 DELETE lt_acdoca1 WHERE augbl IS INITIAL.&lt;BR /&gt;
 LOOP AT lt_acdoca1 INTO lw_acdoca.&lt;BR /&gt;
 lv_hsl = lw_acdoca-hsl + lv_hsl.&lt;BR /&gt;
 CLEAR lw_acdoca.&lt;BR /&gt;
 ENDLOOP.&lt;BR /&gt;
 lv_reconbal = lv_hsl.&lt;BR /&gt;
 CLEAR lv_hsl.&lt;BR /&gt;
 REFRESH lt_acdoca1.&lt;BR /&gt;
 lt_acdoca1[] = lt_acdoca[].&lt;BR /&gt;
 DELETE lt_acdoca1 WHERE augbl IS NOT INITIAL.&lt;BR /&gt;
 LOOP AT lt_acdoca1 INTO lw_acdoca.&lt;BR /&gt;
 lv_hsl = lw_acdoca-hsl + lv_hsl.&lt;BR /&gt;
 CLEAR lw_acdoca.&lt;BR /&gt;
 ENDLOOP.&lt;BR /&gt;
 lv_unreconbal = lv_hsl.&lt;BR /&gt;
 CONDENSE : lv_clsbal, lv_reconbal, lv_unreconbal.&lt;BR /&gt;
 CLEAR lv_opnbal.&lt;BR /&gt;
* CONCATENATE 'Opening Bal. = ' lv_opnbal INTO lv_opn SEPARATED BY space.&lt;BR /&gt;
 CONCATENATE 'Closing Bal. = ' lv_clsbal INTO lv_cls SEPARATED BY space.&lt;BR /&gt;
 CONCATENATE 'Reconciled Bal. = ' lv_reconbal INTO lv_recon SEPARATED BY space.&lt;BR /&gt;
 CONCATENATE 'Unreconciled Bal. = ' lv_unreconbal INTO lv_unrecon SEPARATED BY space.&lt;BR /&gt;
 CALL FUNCTION 'POPUP_TO_INFORM'&lt;BR /&gt;
 EXPORTING&lt;BR /&gt;
 titel = 'Balances'&lt;BR /&gt;
 txt1 = lv_opn&lt;BR /&gt;
 txt2 = lv_cls&lt;BR /&gt;
 txt3 = lv_recon&lt;BR /&gt;
 txt4 = lv_unrecon.&lt;BR /&gt;
 WHEN '&amp;amp;DATA_SAVE'.&lt;BR /&gt;
 REFRESH lt_acdoca.&lt;BR /&gt;
 lt_acdoca[] = gt_acdoca[].&lt;BR /&gt;
 DELETE lt_acdoca WHERE chk NE 'X'.&lt;BR /&gt;
 IF lt_acdoca IS INITIAL.&lt;BR /&gt;
 MESSAGE e398(00) WITH 'Please select atleast one line'.&lt;BR /&gt;
 ENDIF.&lt;BR /&gt;
 LOOP AT lt_acdoca INTO lw_acdoca.&lt;BR /&gt;
 IF lw_acdoca-augbl IS NOT INITIAL.&lt;BR /&gt;
 MESSAGE e398(00) WITH 'Document already cleared'.&lt;BR /&gt;
 ENDIF.&lt;BR /&gt;
 CLEAR lw_acdoca.&lt;BR /&gt;
 ENDLOOP.&lt;BR /&gt;
 SORT lt_acdoca BY bschl.&lt;BR /&gt;
 DELETE ADJACENT DUPLICATES FROM lt_acdoca COMPARING bschl.&lt;BR /&gt;
 DESCRIBE TABLE lt_acdoca LINES lv_lines.&lt;BR /&gt;
 IF lv_lines NE 1.&lt;BR /&gt;
 MESSAGE e398(00) WITH 'Please select documents' 'with same posting key'.&lt;BR /&gt;
 ELSE.&lt;BR /&gt;
 REFRESH:lt_acdoca1, lt_acdoca.&lt;BR /&gt;
 lt_acdoca[] = gt_acdoca[].&lt;BR /&gt;
 DELETE lt_acdoca WHERE chk NE 'X'.&lt;BR /&gt;
&lt;BR /&gt;
*&amp;amp;-----&lt;BR /&gt;
 REFRESH:lt_acdoca2,gt_acdoca_tmp.&lt;BR /&gt;
 lt_acdoca2[] = lt_acdoca.&lt;BR /&gt;
 CLEAR lw_acdoca.&lt;BR /&gt;
 LOOP AT lt_acdoca INTO lw_acdoca.&lt;BR /&gt;
 lv_tabix = sy-tabix.&lt;BR /&gt;
 READ TABLE lt_acdoca_temp WITH KEY belnr = lw_acdoca-belnr&lt;BR /&gt;
 gjahr = lw_acdoca-gjahr&lt;BR /&gt;
 TRANSPORTING NO FIELDS.&lt;BR /&gt;
 IF sy-subrc IS INITIAL.&lt;BR /&gt;
 DELETE lt_acdoca INDEX lv_tabix.&lt;BR /&gt;
 ELSE.&lt;BR /&gt;
 CLEAR lw_acdoca1.&lt;BR /&gt;
 LOOP AT lt_acdoca2 INTO lw_acdoca1&lt;BR /&gt;
 WHERE belnr = lw_acdoca-belnr&lt;BR /&gt;
 AND gjahr = lw_acdoca-gjahr.&lt;BR /&gt;
 IF lw_acdoca-prctr NE lw_acdoca1-prctr.&lt;BR /&gt;
 APPEND lw_acdoca1 TO lt_acdoca_temp.&lt;BR /&gt;
 ENDIF.&lt;BR /&gt;
 CLEAR lw_acdoca1.&lt;BR /&gt;
 ENDLOOP.&lt;BR /&gt;
 ENDIF.&lt;BR /&gt;
 ENDLOOP.&lt;BR /&gt;
*&amp;amp;-----&lt;BR /&gt;
 ENDIF.&lt;BR /&gt;
&lt;BR /&gt;
 PERFORM gl_clearing USING lt_acdoca lt_acdoca_temp.&lt;BR /&gt;
&lt;BR /&gt;
 SELECT rbukrs, gjahr, belnr, docln, hsl, augdt, augbl&lt;BR /&gt;
 FROM acdoca&lt;BR /&gt;
 INTO TABLE @DATA(lt_acdoca_tmp)&lt;BR /&gt;
 FOR ALL ENTRIES IN @lt_acdoca&lt;BR /&gt;
 WHERE rbukrs = @lt_acdoca-rbukrs&lt;BR /&gt;
 AND gjahr = @lt_acdoca-gjahr&lt;BR /&gt;
 AND belnr = @lt_acdoca-belnr.&lt;BR /&gt;
 IF sy-subrc = 0.&lt;BR /&gt;
 DELETE lt_acdoca_tmp WHERE augbl IS INITIAL.&lt;BR /&gt;
 IF lt_acdoca_tmp IS NOT INITIAL.&lt;BR /&gt;
 CLEAR lw_bal.&lt;BR /&gt;
 lw_bal-key_date = p_keydt.&lt;BR /&gt;
 lw_bal-rbusa = p_rbusa.&lt;BR /&gt;
* lw_bal-open_bal = p_opnbal.&lt;BR /&gt;
 lw_bal-usnam = sy-uname.&lt;BR /&gt;
 lw_bal-close_bal = p_clsbal.&lt;BR /&gt;
 lw_bal-bukrs = p_bukrs.&lt;BR /&gt;
 LOOP AT lt_acdoca_tmp INTO DATA(lw_acdoca_tmp).&lt;BR /&gt;
 lw_bal-recon_bal = lw_bal-recon_bal + lw_acdoca_tmp-hsl.&lt;BR /&gt;
 READ TABLE gt_acdoca ASSIGNING &amp;lt;fs_acdoca&amp;gt; WITH KEY gjahr = lw_acdoca_tmp-gjahr&lt;BR /&gt;
 belnr = lw_acdoca_tmp-belnr&lt;BR /&gt;
 docln = lw_acdoca_tmp-docln&lt;BR /&gt;
 BINARY SEARCH.&lt;BR /&gt;
 IF sy-subrc = 0.&lt;BR /&gt;
 &amp;lt;fs_acdoca&amp;gt;-augbl = lw_acdoca_tmp-augbl.&lt;BR /&gt;
 &amp;lt;fs_acdoca&amp;gt;-augdt = lw_acdoca_tmp-augdt.&lt;BR /&gt;
 ENDIF.&lt;BR /&gt;
 CLEAR lw_acdoca_tmp.&lt;BR /&gt;
 ENDLOOP.&lt;BR /&gt;
 lw_bal-unrecon_bal = p_clsbal - lw_bal-recon_bal.&lt;BR /&gt;
 MODIFY zfi_opn_cls_bal FROM lw_bal.&lt;BR /&gt;
 COMMIT WORK.&lt;BR /&gt;
 ELSE.&lt;BR /&gt;
 MESSAGE i398(00) WITH 'No document reconciled'.&lt;BR /&gt;
 ENDIF.&lt;BR /&gt;
 ENDIF.&lt;BR /&gt;
 WHEN 'REFRESH'.&lt;BR /&gt;
 CALL METHOD ref_grid-&amp;gt;refresh_table_display.&lt;BR /&gt;
 WHEN 'SELALL'.&lt;BR /&gt;
 LOOP AT gt_acdoca ASSIGNING &amp;lt;fs_acdoca&amp;gt;.&lt;BR /&gt;
 &amp;lt;fs_acdoca&amp;gt;-chk = 'X'.&lt;BR /&gt;
 ENDLOOP.&lt;BR /&gt;
 CALL METHOD ref_grid-&amp;gt;refresh_table_display.&lt;BR /&gt;
 WHEN 'DESELALL'.&lt;BR /&gt;
 LOOP AT gt_acdoca ASSIGNING &amp;lt;fs_acdoca&amp;gt;.&lt;BR /&gt;
 CLEAR &amp;lt;fs_acdoca&amp;gt;-chk.&lt;BR /&gt;
 ENDLOOP.&lt;BR /&gt;
 CALL METHOD ref_grid-&amp;gt;refresh_table_display.&lt;BR /&gt;
 WHEN '&amp;amp;DIFF'.&lt;BR /&gt;
 DATA lv_ts TYPE acdoca-hsl.&lt;BR /&gt;
 DATA lv_tc TYPE acdoca-hsl.&lt;BR /&gt;
 DATA lv_te TYPE acdoca-hsl.&lt;BR /&gt;
 DATA lv_tbs TYPE acdoca-hsl.&lt;BR /&gt;
 DATA lv_tbb TYPE char50.&lt;BR /&gt;
 DATA: ld_ts TYPE char50,&lt;BR /&gt;
 ld_tc TYPE char50,&lt;BR /&gt;
 ld_te TYPE char50,&lt;BR /&gt;
 ld_tbs TYPE char50,&lt;BR /&gt;
 ld_tbb TYPE char50,&lt;BR /&gt;
 lv_diff TYPE char30.&lt;BR /&gt;
 CLEAR : lv_ts,lv_tc,lv_te,lv_tbs,lv_tbb.&lt;BR /&gt;
 BREAK pwcsd3.&lt;BR /&gt;
 LOOP AT gt_acdoca INTO gw_acdoca WHERE chk = 'X'.&lt;BR /&gt;
 IF gw_acdoca-blart = 'ZC' AND&lt;BR /&gt;
 gw_acdoca-racct = gw_in_out_gls-racct_in .&lt;BR /&gt;
 lv_ts = lv_ts + gw_acdoca-hsl.&lt;BR /&gt;
 ENDIF.&lt;BR /&gt;
 IF gw_acdoca-blart NE 'ZC' AND&lt;BR /&gt;
 gw_acdoca-racct = gw_in_out_gls-racct_in .&lt;BR /&gt;
 lv_tc = lv_tc + gw_acdoca-hsl.&lt;BR /&gt;
 ENDIF.&lt;BR /&gt;
 IF gw_acdoca-racct = gw_in_out_gls-racct_out .&lt;BR /&gt;
 lv_te = lv_te + gw_acdoca-hsl.&lt;BR /&gt;
 ENDIF.&lt;BR /&gt;
 CLEAR gw_acdoca.&lt;BR /&gt;
 ENDLOOP.&lt;BR /&gt;
 CLEAR : ld_ts,ld_tc,ld_te,lv_diff.&lt;BR /&gt;
 ld_ts = lv_ts.&lt;BR /&gt;
 ld_tc = lv_tc.&lt;BR /&gt;
 ld_te = lv_te.&lt;BR /&gt;
 lv_tbs = lv_ts + lv_tc + lv_te.&lt;BR /&gt;
 lv_tbb = p_clsbal.&lt;BR /&gt;
 lv_diff = lv_tbs - lv_tbb.&lt;BR /&gt;
 ld_tbs = lv_tbs.&lt;BR /&gt;
 SHIFT: ld_ts LEFT DELETING LEADING space,&lt;BR /&gt;
 ld_tc LEFT DELETING LEADING space,&lt;BR /&gt;
 ld_te LEFT DELETING LEADING space,&lt;BR /&gt;
 ld_tbs LEFT DELETING LEADING space,&lt;BR /&gt;
 lv_tbb LEFT DELETING LEADING space,&lt;BR /&gt;
 lv_diff LEFT DELETING LEADING space.&lt;BR /&gt;
&lt;BR /&gt;
 CONCATENATE 'Total Sales as per SAP ' ld_ts INTO ld_ts SEPARATED BY '='.&lt;BR /&gt;
 CONCATENATE 'Total Collection as per SAP ' ld_tc INTO ld_tc SEPARATED BY '='.&lt;BR /&gt;
 CONCATENATE 'Total expenses as per SAP ' ld_te INTO ld_te SEPARATED BY '='.&lt;BR /&gt;
 CONCATENATE 'Total Balance as per SAP' ld_tbs INTO ld_tbs SEPARATED BY '='.&lt;BR /&gt;
 CONCATENATE 'Total Balance as per Branch' lv_tbb INTO lv_tbb SEPARATED BY '='.&lt;BR /&gt;
 CONCATENATE 'Difference' lv_diff INTO lv_diff SEPARATED BY '='.&lt;BR /&gt;
 CALL FUNCTION 'ZFI_POPUP_TO_INFORM'&lt;BR /&gt;
 EXPORTING&lt;BR /&gt;
 titel = 'Differences'&lt;BR /&gt;
 txt1 = ld_ts&lt;BR /&gt;
 txt2 = ld_tc&lt;BR /&gt;
 txt3 = ld_te&lt;BR /&gt;
 txt4 = ld_tbs&lt;BR /&gt;
 txt5 = lv_tbb&lt;BR /&gt;
 txt6 = lv_diff.&lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
 ENDCASE.&lt;BR /&gt;
&lt;BR /&gt;
ENDFORM.&lt;BR /&gt;&lt;BR /&gt;
FORM gl_clearing USING p_t_acdoca TYPE tty_acdoca&lt;BR /&gt;
 p_t_acdoca_temp TYPE tty_acdoca.&lt;BR /&gt;
&lt;BR /&gt;
 DATA : i_auglv LIKE t041a-auglv,&lt;BR /&gt;
 i_tcode LIKE sy-tcode,&lt;BR /&gt;
 bbkpf TYPE bkpf,&lt;BR /&gt;
 w_blntab TYPE blntab,&lt;BR /&gt;
 t_blntab TYPE STANDARD TABLE OF blntab,&lt;BR /&gt;
 w_ftclear TYPE ftclear,&lt;BR /&gt;
 t_ftclear TYPE STANDARD TABLE OF ftclear,&lt;BR /&gt;
 w_ftpost TYPE ftpost,&lt;BR /&gt;
 t_ftpost TYPE STANDARD TABLE OF ftpost,&lt;BR /&gt;
 t_fttax TYPE STANDARD TABLE OF fttax,&lt;BR /&gt;
 lw_acdoca TYPE ty_acdoca,&lt;BR /&gt;
 lw_acdoca_tmp TYPE ty_acdoca,&lt;BR /&gt;
 lv_hsl TYPE fins_vhcur12,&lt;BR /&gt;
 lv_bschl TYPE bschl,&lt;BR /&gt;
 lv_msg(100) TYPE c,&lt;BR /&gt;
 lv_count TYPE count_pi.&lt;BR /&gt;
&lt;BR /&gt;
 DATA : e_msgid LIKE sy-msgid,&lt;BR /&gt;
 e_msgno LIKE sy-msgno,&lt;BR /&gt;
 e_msgty LIKE sy-msgty,&lt;BR /&gt;
 e_msgv1 LIKE sy-msgv1,&lt;BR /&gt;
 e_msgv2 LIKE sy-msgv2,&lt;BR /&gt;
 e_msgv3 LIKE sy-msgv3,&lt;BR /&gt;
 e_msgv4 LIKE sy-msgv4,&lt;BR /&gt;
 e_subrc LIKE sy-subrc.&lt;BR /&gt;
 DATA lv_tabix TYPE sy-tabix.&lt;BR /&gt;
 DATA lv_lines TYPE sy-tabix.&lt;BR /&gt;
 DATA :lt_acdoca_tmp TYPE tty_acdoca.&lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
 CONSTANTS l_zc TYPE bkpf-blart VALUE 'ZC'.&lt;BR /&gt;
*** Begin of Chaitanya - 24112019&lt;BR /&gt;
 DATA: gt_zfibrsdates TYPE STANDARD TABLE OF zfibrsdates,&lt;BR /&gt;
 gw_zfibrsdates TYPE zfibrsdates.&lt;BR /&gt;
*** End of Chaitanya - 24112019&lt;BR /&gt;
&lt;BR /&gt;
 i_auglv = 'UMBUCHNG'.&lt;BR /&gt;
 i_tcode = 'FB05'.&lt;BR /&gt;
&lt;BR /&gt;
 LOOP AT p_t_acdoca INTO lw_acdoca.&lt;BR /&gt;
 lv_tabix = sy-tabix.&lt;BR /&gt;
&lt;BR /&gt;
 CLEAR : lv_hsl, lv_bschl,w_blntab,w_ftclear,lv_msg.&lt;BR /&gt;
 REFRESH : t_blntab, t_ftclear,t_ftpost.&lt;BR /&gt;
 w_blntab-belnr = lw_acdoca-belnr.&lt;BR /&gt;
 w_blntab-bukrs = lw_acdoca-rbukrs.&lt;BR /&gt;
 w_blntab-gjahr = lw_acdoca-gjahr.&lt;BR /&gt;
 APPEND w_blntab TO t_blntab.&lt;BR /&gt;
 w_ftclear-agkoa = 'S'.&lt;BR /&gt;
 w_ftclear-agkon = lw_acdoca-racct. "p_acdoca-racct.&lt;BR /&gt;
 w_ftclear-agbuk = p_bukrs.&lt;BR /&gt;
 w_ftclear-xnops = 'X'.&lt;BR /&gt;
 IF lw_acdoca-blart = l_zc.&lt;BR /&gt;
 w_ftclear-selfd = 'BELNR'.&lt;BR /&gt;
 w_ftclear-selvon = lw_acdoca-belnr.&lt;BR /&gt;
 ELSE.&lt;BR /&gt;
 w_ftclear-selfd = 'ZUONR'.&lt;BR /&gt;
 w_ftclear-selvon = lw_acdoca-zuonr. "p_acdoca-belnr.&lt;BR /&gt;
 ENDIF.&lt;BR /&gt;
 APPEND w_ftclear TO t_ftclear.&lt;BR /&gt;
 lv_hsl = lv_hsl + lw_acdoca-hsl.&lt;BR /&gt;
 lv_bschl = lw_acdoca-bschl.&lt;BR /&gt;
&lt;BR /&gt;
 CLEAR w_ftpost.&lt;BR /&gt;
 w_ftpost-stype = 'K'.&lt;BR /&gt;
 w_ftpost-count = '001'.&lt;BR /&gt;
&lt;BR /&gt;
 CLEAR: w_ftpost-fnam, w_ftpost-fval.&lt;BR /&gt;
 w_ftpost-fnam = 'BKPF-BLDAT'.&lt;BR /&gt;
 CONCATENATE p_budat+6(2) p_budat+4(2) p_budat(4) INTO w_ftpost-fval.&lt;BR /&gt;
 APPEND w_ftpost TO t_ftpost.&lt;BR /&gt;
&lt;BR /&gt;
 CLEAR: w_ftpost-fnam, w_ftpost-fval.&lt;BR /&gt;
 w_ftpost-fnam = 'BKPF-BUDAT'.&lt;BR /&gt;
 CONCATENATE p_budat+6(2) p_budat+4(2) p_budat(4) INTO w_ftpost-fval.&lt;BR /&gt;
 APPEND w_ftpost TO t_ftpost.&lt;BR /&gt;
&lt;BR /&gt;
 CLEAR: w_ftpost-fnam, w_ftpost-fval.&lt;BR /&gt;
 w_ftpost-fnam = 'BKPF-BLART'.&lt;BR /&gt;
 w_ftpost-fval = 'SA'.&lt;BR /&gt;
 APPEND w_ftpost TO t_ftpost.&lt;BR /&gt;
&lt;BR /&gt;
 CLEAR: w_ftpost-fnam, w_ftpost-fval.&lt;BR /&gt;
 w_ftpost-fnam = 'BKPF-BUKRS'.&lt;BR /&gt;
 w_ftpost-fval = p_bukrs.&lt;BR /&gt;
 APPEND w_ftpost TO t_ftpost.&lt;BR /&gt;
&lt;BR /&gt;
 SELECT SINGLE waers&lt;BR /&gt;
 FROM t001&lt;BR /&gt;
 INTO @DATA(lv_waers)&lt;BR /&gt;
 WHERE bukrs = @p_bukrs.&lt;BR /&gt;
&lt;BR /&gt;
 IF NOT lw_acdoca-rwcur IS INITIAL AND&lt;BR /&gt;
 lw_acdoca-rwcur NE lv_waers.&lt;BR /&gt;
 CLEAR: lv_hsl .&lt;BR /&gt;
 lv_hsl = lw_acdoca-wsl.&lt;BR /&gt;
 lv_waers = lw_acdoca-rwcur.&lt;BR /&gt;
 ENDIF.&lt;BR /&gt;
 CLEAR: w_ftpost-fnam, w_ftpost-fval.&lt;BR /&gt;
 w_ftpost-fnam = 'BKPF-WAERS'.&lt;BR /&gt;
 w_ftpost-fval = lv_waers.&lt;BR /&gt;
 APPEND w_ftpost TO t_ftpost.&lt;BR /&gt;
&lt;BR /&gt;
 CLEAR: w_ftpost-fnam, w_ftpost-fval.&lt;BR /&gt;
 w_ftpost-stype = 'P'.&lt;BR /&gt;
 w_ftpost-fnam = 'RF05A-NEWBS'.&lt;BR /&gt;
 w_ftpost-fval = lv_bschl.&lt;BR /&gt;
 APPEND w_ftpost TO t_ftpost.&lt;BR /&gt;
&lt;BR /&gt;
 CLEAR: w_ftpost-fnam, w_ftpost-fval.&lt;BR /&gt;
 w_ftpost-stype = 'P'.&lt;BR /&gt;
 w_ftpost-fnam = 'RF05A-NEWKO'.&lt;BR /&gt;
 w_ftpost-fval = gw_in_out_gls-racct_m.&lt;BR /&gt;
 APPEND w_ftpost TO t_ftpost.&lt;BR /&gt;
&lt;BR /&gt;
 CLEAR: w_ftpost-fnam, w_ftpost-fval. "Calculate&lt;BR /&gt;
 w_ftpost-fnam = 'BSEG-WRBTR'.&lt;BR /&gt;
 IF lv_hsl LT 0.&lt;BR /&gt;
 w_ftpost-fval = 0 - lv_hsl.&lt;BR /&gt;
 ELSE.&lt;BR /&gt;
 w_ftpost-fval = lv_hsl.&lt;BR /&gt;
 ENDIF.&lt;BR /&gt;
 CONDENSE w_ftpost-fval.&lt;BR /&gt;
 APPEND w_ftpost TO t_ftpost.&lt;BR /&gt;
&lt;BR /&gt;
 CLEAR: w_ftpost-fnam, w_ftpost-fval.&lt;BR /&gt;
 w_ftpost-fnam = 'COBL-GSBER'.&lt;BR /&gt;
 w_ftpost-fval = lw_acdoca-rbusa.&lt;BR /&gt;
 APPEND w_ftpost TO t_ftpost.&lt;BR /&gt;
&lt;BR /&gt;
 CLEAR: w_ftpost-fnam, w_ftpost-fval.&lt;BR /&gt;
 w_ftpost-fnam = 'COBL-PRCTR'.&lt;BR /&gt;
 w_ftpost-fval = lw_acdoca-prctr.&lt;BR /&gt;
 APPEND w_ftpost TO t_ftpost.&lt;BR /&gt;
*&amp;amp;-- Begin of change "&lt;BR /&gt;
 CLEAR:lw_acdoca_tmp, lv_count.&lt;BR /&gt;
 LOOP AT p_t_acdoca_temp INTO lw_acdoca_tmp&lt;BR /&gt;
 WHERE belnr = lw_acdoca-belnr&lt;BR /&gt;
 AND rbukrs = lw_acdoca-rbukrs&lt;BR /&gt;
 AND gjahr = lw_acdoca-gjahr.&lt;BR /&gt;
 CLEAR lv_hsl.&lt;BR /&gt;
 lv_hsl = lw_acdoca_tmp-hsl.&lt;BR /&gt;
 IF NOT lw_acdoca_tmp-rwcur IS INITIAL AND&lt;BR /&gt;
 lw_acdoca_tmp-rwcur NE lv_waers.&lt;BR /&gt;
 CLEAR: lv_hsl .&lt;BR /&gt;
 lv_hsl = lw_acdoca_tmp-wsl.&lt;BR /&gt;
 ENDIF.&lt;BR /&gt;
 CLEAR: w_ftpost-fnam, w_ftpost-fval.&lt;BR /&gt;
 w_ftpost-stype = 'P'.&lt;BR /&gt;
 w_ftpost-fnam = 'RF05A-NEWBS'.&lt;BR /&gt;
 w_ftpost-count = w_ftpost-count + 1.&lt;BR /&gt;
 w_ftpost-fval = lv_bschl.&lt;BR /&gt;
 APPEND w_ftpost TO t_ftpost.&lt;BR /&gt;
&lt;BR /&gt;
 CLEAR: w_ftpost-fnam, w_ftpost-fval.&lt;BR /&gt;
 w_ftpost-fnam = 'RF05A-NEWKO'.&lt;BR /&gt;
 w_ftpost-fval = gw_in_out_gls-racct_m.&lt;BR /&gt;
 APPEND w_ftpost TO t_ftpost.&lt;BR /&gt;
&lt;BR /&gt;
 CLEAR: w_ftpost-fnam, w_ftpost-fval. "Calculate&lt;BR /&gt;
 w_ftpost-fnam = 'BSEG-WRBTR'.&lt;BR /&gt;
 IF lv_hsl LT 0.&lt;BR /&gt;
 w_ftpost-fval = 0 - lv_hsl.&lt;BR /&gt;
 ELSE.&lt;BR /&gt;
 w_ftpost-fval = lv_hsl.&lt;BR /&gt;
 ENDIF.&lt;BR /&gt;
 CONDENSE w_ftpost-fval.&lt;BR /&gt;
 APPEND w_ftpost TO t_ftpost.&lt;BR /&gt;
&lt;BR /&gt;
 CLEAR: w_ftpost-fnam, w_ftpost-fval.&lt;BR /&gt;
 w_ftpost-fnam = 'COBL-GSBER'.&lt;BR /&gt;
 w_ftpost-fval = lw_acdoca_tmp-rbusa.&lt;BR /&gt;
 APPEND w_ftpost TO t_ftpost.&lt;BR /&gt;
&lt;BR /&gt;
 CLEAR: w_ftpost-fnam, w_ftpost-fval.&lt;BR /&gt;
 w_ftpost-fnam = 'COBL-PRCTR'.&lt;BR /&gt;
 w_ftpost-fval = lw_acdoca_tmp-prctr.&lt;BR /&gt;
 APPEND w_ftpost TO t_ftpost.&lt;BR /&gt;
 CLEAR lw_acdoca_tmp.&lt;BR /&gt;
 ENDLOOP.&lt;BR /&gt;
*&amp;amp;-- End of change "&lt;BR /&gt;
 CALL FUNCTION 'POSTING_INTERFACE_START'&lt;BR /&gt;
 EXPORTING&lt;BR /&gt;
 i_client = sy-mandt&lt;BR /&gt;
 i_function = 'C'&lt;BR /&gt;
 i_mode = p_mode "'N'&lt;BR /&gt;
 i_user = sy-uname&lt;BR /&gt;
 EXCEPTIONS&lt;BR /&gt;
 client_incorrect = 1&lt;BR /&gt;
 function_invalid = 2&lt;BR /&gt;
 group_name_missing = 3&lt;BR /&gt;
 mode_invalid = 4&lt;BR /&gt;
 update_invalid = 5&lt;BR /&gt;
 user_invalid = 6&lt;BR /&gt;
 OTHERS = 7.&lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
 CALL FUNCTION 'POSTING_INTERFACE_CLEARING'&lt;BR /&gt;
 EXPORTING&lt;BR /&gt;
 i_auglv = i_auglv&lt;BR /&gt;
 i_tcode = i_tcode&lt;BR /&gt;
 i_sgfunct = 'C'&lt;BR /&gt;
 IMPORTING&lt;BR /&gt;
 e_msgid = e_msgid&lt;BR /&gt;
 e_msgno = e_msgno&lt;BR /&gt;
 e_msgty = e_msgty&lt;BR /&gt;
 e_msgv1 = e_msgv1&lt;BR /&gt;
 e_msgv2 = e_msgv2&lt;BR /&gt;
 e_msgv3 = e_msgv3&lt;BR /&gt;
 e_msgv4 = e_msgv4&lt;BR /&gt;
 e_subrc = e_subrc&lt;BR /&gt;
 TABLES&lt;BR /&gt;
 t_blntab = t_blntab&lt;BR /&gt;
 t_ftclear = t_ftclear&lt;BR /&gt;
 t_ftpost = t_ftpost&lt;BR /&gt;
 t_fttax = t_fttax&lt;BR /&gt;
 EXCEPTIONS&lt;BR /&gt;
 clearing_procedure_invalid = 1&lt;BR /&gt;
 clearing_procedure_missing = 2&lt;BR /&gt;
 table_t041a_empty = 3&lt;BR /&gt;
 transaction_code_invalid = 4&lt;BR /&gt;
 amount_format_error = 5&lt;BR /&gt;
 too_many_line_items = 6&lt;BR /&gt;
 company_code_invalid = 7&lt;BR /&gt;
 screen_not_found = 8&lt;BR /&gt;
 no_authorization = 9&lt;BR /&gt;
 OTHERS = 10.&lt;BR /&gt;
&lt;BR /&gt;
 CALL FUNCTION 'POSTING_INTERFACE_END'&lt;BR /&gt;
 EXPORTING&lt;BR /&gt;
 i_bdcimmed = 'X'&lt;BR /&gt;
 EXCEPTIONS&lt;BR /&gt;
 session_not_processable = 1&lt;BR /&gt;
 OTHERS = 2.&lt;BR /&gt;
&lt;BR /&gt;
 IF e_subrc IS NOT INITIAL.&lt;BR /&gt;
 CLEAR lv_msg.&lt;BR /&gt;
 CALL FUNCTION 'FORMAT_MESSAGE'&lt;BR /&gt;
 EXPORTING&lt;BR /&gt;
 id = sy-msgid&lt;BR /&gt;
 lang = sy-langu&lt;BR /&gt;
 no = sy-msgno&lt;BR /&gt;
 v1 = sy-msgv1&lt;BR /&gt;
 v2 = sy-msgv2&lt;BR /&gt;
 v3 = sy-msgv3&lt;BR /&gt;
 v4 = sy-msgv4&lt;BR /&gt;
 IMPORTING&lt;BR /&gt;
 msg = lv_msg&lt;BR /&gt;
 EXCEPTIONS&lt;BR /&gt;
 not_found = 1&lt;BR /&gt;
 OTHERS = 2.&lt;BR /&gt;
 IF sy-subrc &amp;lt;&amp;gt; 0.&lt;BR /&gt;
* Implement suitable error handling here&lt;BR /&gt;
 ENDIF.&lt;BR /&gt;
 READ TABLE gt_acdoca ASSIGNING &amp;lt;fs_acdoca&amp;gt; WITH KEY belnr = lw_acdoca-belnr&lt;BR /&gt;
 gjahr = lw_acdoca-gjahr&lt;BR /&gt;
 docln = lw_acdoca-docln&lt;BR /&gt;
 BINARY SEARCH.&lt;BR /&gt;
 IF sy-subrc = 0.&lt;BR /&gt;
 &amp;lt;fs_acdoca&amp;gt;-msg = lv_msg.&lt;BR /&gt;
 ENDIF.&lt;BR /&gt;
 ELSE.&lt;BR /&gt;
 IF p_bukrs EQ 'A010'.&lt;BR /&gt;
 gw_zfibrsdates-bukrs = p_bukrs.&lt;BR /&gt;
 gw_zfibrsdates-hkont = p_racct.&lt;BR /&gt;
 gw_zfibrsdates-tcode = sy-tcode.&lt;BR /&gt;
 gw_zfibrsdates-budat = p_keydt.&lt;BR /&gt;
 MODIFY zfibrsdates FROM gw_zfibrsdates.&lt;BR /&gt;
 COMMIT WORK.&lt;BR /&gt;
 CLEAR: gw_zfibrsdates.&lt;BR /&gt;
 ENDIF.&lt;BR /&gt;
 ENDIF.&lt;BR /&gt;
 CLEAR : lw_acdoca.&lt;BR /&gt;
 ENDLOOP.&lt;BR /&gt;
ENDFORM.&lt;/P&gt;</description>
      <pubDate>Mon, 27 Jan 2020 07:21:11 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/field-values-not-getting-sorted/m-p/12194120#M1981066</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2020-01-27T07:21:11Z</dc:date>
    </item>
    <item>
      <title>Re: field values not getting sorted</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/field-values-not-getting-sorted/m-p/12194121#M1981067</link>
      <description>&lt;P&gt;shared the code. please check&lt;/P&gt;</description>
      <pubDate>Mon, 27 Jan 2020 07:34:38 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/field-values-not-getting-sorted/m-p/12194121#M1981067</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2020-01-27T07:34:38Z</dc:date>
    </item>
    <item>
      <title>Re: field values not getting sorted</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/field-values-not-getting-sorted/m-p/12194122#M1981068</link>
      <description>&lt;P&gt;Please don't paste the code as an answer, use the button "Comment".&lt;/P&gt;&lt;P&gt;Moreover, paste only the relevant part of the code, don't paste the whole program.&lt;/P&gt;&lt;P&gt;Moreover, use the button "CODE" to beautify the code.&lt;/P&gt;</description>
      <pubDate>Mon, 27 Jan 2020 08:09:27 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/field-values-not-getting-sorted/m-p/12194122#M1981068</guid>
      <dc:creator>Sandra_Rossi</dc:creator>
      <dc:date>2020-01-27T08:09:27Z</dc:date>
    </item>
    <item>
      <title>Re: field values not getting sorted</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/field-values-not-getting-sorted/m-p/12194123#M1981069</link>
      <description>&lt;P&gt;&lt;SPAN class="mention-scrubbed"&gt;nidhi1994&lt;/SPAN&gt;,&lt;/P&gt;&lt;P&gt;Recommend you to do the following steps:&lt;/P&gt;&lt;P&gt;1) Start debugging your Code and try to follow for the field BLART from the selection screen.&lt;/P&gt;&lt;P&gt;2) Check from the first select query whether the Query is successful with only the given values of BLART.&lt;/P&gt;&lt;P&gt;3) I have seen a statement where in you are deleting from a internal table based on S_BLART, recommend you to recheck again on that statement.&lt;/P&gt;&lt;P&gt;4) There are also few FMs used for collecting the BLART data, check if the functionality is fine there.&lt;/P&gt;&lt;P&gt;From what i see if you could follow the flow of the program in debugging we can reach to the solution part. Please use CODE option to paste the code also please paste only the code which you are suspicious about.&lt;/P&gt;&lt;P&gt;Regards!&lt;/P&gt;&lt;P&gt;Satish&lt;/P&gt;</description>
      <pubDate>Mon, 27 Jan 2020 09:06:33 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/field-values-not-getting-sorted/m-p/12194123#M1981069</guid>
      <dc:creator>former_member1716</dc:creator>
      <dc:date>2020-01-27T09:06:33Z</dc:date>
    </item>
    <item>
      <title>Re: field values not getting sorted</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/field-values-not-getting-sorted/m-p/12194124#M1981070</link>
      <description>&lt;P&gt;thanks for your help&lt;/P&gt;</description>
      <pubDate>Mon, 27 Jan 2020 09:50:18 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/field-values-not-getting-sorted/m-p/12194124#M1981070</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2020-01-27T09:50:18Z</dc:date>
    </item>
    <item>
      <title>Re: field values not getting sorted</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/field-values-not-getting-sorted/m-p/12194125#M1981071</link>
      <description>&lt;P&gt;thank you for your help. It is done&lt;/P&gt;</description>
      <pubDate>Mon, 27 Jan 2020 09:56:49 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/field-values-not-getting-sorted/m-p/12194125#M1981071</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2020-01-27T09:56:49Z</dc:date>
    </item>
  </channel>
</rss>

