Notes![what is notes.io? What is notes.io?](/theme/images/whatisnotesio.png)
![]() ![]() Notes - notes.io |
*& Include ZNMFICOR086_F01
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Form frm_get_data
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& --> p1 text
*& <-- p2 text
*&---------------------------------------------------------------------*
FORM frm_get_data.
REFRESH: gt_output_sel, gt_output_sel_main.
REFRESH: gt_output_cur, gt_output_cur_main.
REFRESH: gt_output.
DATA: beginsdate TYPE d,
predate TYPE d,
ckunnr TYPE i,
clifnr TYPE i.
RANGES: lr_type FOR acdoca-koart,
lr_const_racct FOR acdoca-racct,
lr_const_racct_def FOR acdoca-racct.
CLEAR: ckunnr, clifnr, lr_type, lr_type[], lr_const_racct, lr_const_racct[], lr_const_racct_def, lr_const_racct_def[].
beginsdate = s_bdate-low+0(4) && '01' && '01'.
CALL FUNCTION 'RP_CALC_DATE_IN_INTERVAL'
EXPORTING
date = s_bdate-low
days = '01'
months = '00'
signum = '-'
years = '00'
IMPORTING
calc_date = predate.
ckunnr = 0.
IF s_ptr[] IS INITIAL.
ckunnr = 1.
ENDIF.
IF s_ptr[] IS NOT INITIAL.
ckunnr = 1.
ENDIF.
CLEAR lr_type.
CLEAR lr_const_racct.
IF preport = 'D'.
lr_type = VALUE #( sign = 'I' option = 'EQ' low = 'D' ).
APPEND lr_type.
lr_const_racct = VALUE #( sign = 'I' option = 'EQ' low = '9990300001' ).
APPEND lr_const_racct.
lr_const_racct_def = VALUE #( sign = 'I' option = 'EQ' low = '3401010100' ).
APPEND lr_const_racct_def.
ELSE.
lr_type = VALUE #( sign = 'I' option = 'EQ' low = 'K' ).
APPEND lr_type.
lr_const_racct = VALUE #( sign = 'I' option = 'EQ' low = '9990300002' ).
APPEND lr_const_racct.
lr_const_racct_def = VALUE #( sign = 'I' option = 'EQ' low = '1202010100' ).
APPEND lr_const_racct_def.
ENDIF.
SELECT a~racct,l~txt50 AS racctn,a~pprctr AS bpartner,b~ktext AS bpartnername,
CASE WHEN a~racct = '9990300002' THEN 'K' ELSE 'D' END AS bpartnertype,
SUM( CASE WHEN ( ( a~budat BETWEEN @beginsdate AND @predate ) OR ( a~bstat = 'C' ) ) THEN a~hsl ELSE 0 END ) AS slb,
SUM( CASE WHEN a~budat BETWEEN @s_bdate-low AND @s_bdate-high AND a~drcrk = 'H' THEN a~hsl ELSE 0 END ) AS slcredit,
SUM( CASE WHEN a~budat BETWEEN @s_bdate-low AND @s_bdate-high AND a~drcrk = 'S' THEN a~hsl ELSE 0 END ) AS sldebit,
SUM( a~hsl ) AS sle,
a~rtcur AS rcur, a~rtcur AS zmaincurr,
0 AS group
FROM acdoca AS a
LEFT OUTER JOIN skb1 AS k ON a~rbukrs = k~bukrs AND a~racct = k~saknr
LEFT OUTER JOIN bkpf AS h ON a~rbukrs = h~bukrs AND a~belnr = h~belnr AND a~gjahr = h~gjahr
LEFT OUTER JOIN skat AS l ON a~racct = l~saknr AND l~spras = @sy-langu AND l~ktopl = @c_chart_of_account
LEFT OUTER JOIN cepct AS b ON a~pprctr = b~prctr AND b~spras = @sy-langu AND b~kokrs = @c_chart_of_account AND b~datbi >= @sy-datum
WHERE ( ( a~budat BETWEEN @beginsdate AND @s_bdate-high ) OR ( a~gjahr = @beginsdate+0(4) AND a~bstat = 'C' ) )
AND a~prctr = @s_prctr
AND a~racct IN @s_racct
AND a~racct IN @lr_const_racct
AND a~rtcur = 'MNT'
AND a~rldnr EQ '0L'
AND a~pprctr IN @s_pprctr
* AND ( @p_revers = 'X' OR ( a~xreversing <> 'X' AND a~xreversed <> 'X' ) )
AND ( @p_revers = 'X' OR ( ( h~xreversing IS NULL OR h~xreversing <> 'X') AND ( h~xreversed IS NULL OR h~xreversed <> 'X') ) )
GROUP BY a~racct, l~txt50, a~pprctr, b~ktext, a~rtcur
INTO CORRESPONDING FIELDS OF TABLE @gt_output_sel.
LOOP AT gt_output_sel.
COLLECT gt_output_sel INTO gt_output_sel_main.
CLEAR gt_output_sel.
ENDLOOP.
SELECT a~racct,l~txt50 AS racctn,a~pprctr AS bpartner,b~ktext AS bpartnername,
CASE WHEN a~racct = '9990300002' THEN 'K' ELSE 'D' END AS bpartnertype,
SUM( CASE WHEN ( ( a~budat BETWEEN @beginsdate AND @predate ) OR ( a~bstat = 'C' ) ) THEN a~tsl ELSE 0 END ) AS slb,
SUM( CASE WHEN a~budat BETWEEN @s_bdate-low AND @s_bdate-high AND a~drcrk = 'H' THEN a~tsl ELSE 0 END ) AS slcredit,
SUM( CASE WHEN a~budat BETWEEN @s_bdate-low AND @s_bdate-high AND a~drcrk = 'S' THEN a~tsl ELSE 0 END ) AS sldebit,
SUM( a~tsl ) AS sle,
SUM( CASE WHEN ( ( a~budat BETWEEN @beginsdate AND @predate ) OR ( a~bstat = 'C' ) ) THEN a~hsl ELSE 0 END ) AS hslb,
SUM( CASE WHEN a~budat BETWEEN @s_bdate-low AND @s_bdate-high AND a~drcrk = 'H' THEN a~hsl ELSE 0 END ) AS hslcredit,
SUM( CASE WHEN a~budat BETWEEN @s_bdate-low AND @s_bdate-high AND a~drcrk = 'S' THEN a~hsl ELSE 0 END ) AS hsldebit,
SUM( a~hsl ) AS hsle,
a~rtcur AS rcur
FROM acdoca AS a
LEFT OUTER JOIN skb1 AS k ON a~rbukrs = k~bukrs AND a~racct = k~saknr
LEFT OUTER JOIN bkpf AS h ON a~rbukrs = h~bukrs AND a~belnr = h~belnr AND a~gjahr = h~gjahr
LEFT OUTER JOIN skat AS l ON a~racct = l~saknr AND l~spras = @sy-langu AND l~ktopl = @c_chart_of_account
LEFT OUTER JOIN cepct AS b ON a~pprctr = b~prctr AND b~spras = @sy-langu AND b~kokrs = @c_chart_of_account AND b~datbi >= @sy-datum
WHERE ( ( a~budat BETWEEN @beginsdate AND @s_bdate-high ) OR ( a~gjahr = @beginsdate+0(4) AND a~bstat = 'C' ) )
AND a~prctr = @s_prctr
AND a~racct IN @s_racct
AND a~racct IN @lr_const_racct
AND a~rtcur <> 'MNT'
AND a~rldnr EQ '0L'
AND a~pprctr IN @s_pprctr
* AND ( @p_revers = 'X' OR ( a~xreversing <> 'X' AND a~xreversed <> 'X' ) )
AND ( @p_revers = 'X' OR ( ( h~xreversing IS NULL OR h~xreversing <> 'X') AND ( h~xreversed IS NULL OR h~xreversed <> 'X') ) )
GROUP BY a~racct,l~txt50, a~pprctr, b~ktext, a~rtcur
INTO CORRESPONDING FIELDS OF TABLE @gt_output_cur.
LOOP AT gt_output_cur.
COLLECT gt_output_cur INTO gt_output_cur_main.
CLEAR gt_output_cur.
ENDLOOP.
"CASE WHEN a~racct = '1202010100' THEN a~lifnr ELSE a~kunnr END ingej shalgaj avahgui bol kunnr deer False gsen utga buglugduud bsan. kunnr IS INITIAL geheer false ni orohgui buru garaad bga
SELECT a~racct, l~txt50 AS racctn,
"CASE WHEN a~kunnr IS INITIAL THEN a~lifnr ELSE a~kunnr END AS bpartner,
"CASE WHEN b~name_org1 IS INITIAL THEN b~name_first && ' ' && b~name_last ELSE b~name_org1 END AS bpartnername,
CASE WHEN a~racct = '1202010100' THEN a~lifnr ELSE a~kunnr END AS bpartner,
CASE WHEN a~racct = '1202010100' THEN 'K' ELSE 'D' END AS bpartnertype,
SUM( CASE WHEN ( ( a~budat BETWEEN @beginsdate AND @predate ) OR ( a~bstat = 'C' ) ) THEN a~hsl ELSE 0 END ) AS slb,
SUM( CASE WHEN a~budat BETWEEN @s_bdate-low AND @s_bdate-high AND a~drcrk = 'H' THEN a~hsl ELSE 0 END ) AS slcredit,
SUM( CASE WHEN a~budat BETWEEN @s_bdate-low AND @s_bdate-high AND a~drcrk = 'S' THEN a~hsl ELSE 0 END ) AS sldebit,
SUM( a~hsl ) AS sle,
a~rtcur AS rcur, a~rtcur AS zmaincurr,
0 AS group
FROM acdoca AS a
LEFT OUTER JOIN skb1 AS k ON a~rbukrs = k~bukrs AND a~racct = k~saknr
LEFT OUTER JOIN bkpf AS h ON a~rbukrs = h~bukrs AND a~belnr = h~belnr AND a~gjahr = h~gjahr
LEFT OUTER JOIN skat AS l ON a~racct = l~saknr AND l~spras = @sy-langu AND l~ktopl = @c_chart_of_account
"LEFT OUTER JOIN but000 AS b ON a~kunnr = b~partner OR a~lifnr = b~partner
WHERE ( ( a~budat BETWEEN @beginsdate AND @s_bdate-high ) OR ( a~gjahr = @beginsdate+0(4) AND a~bstat = 'C' ) )
AND a~prctr = @s_prctr
AND a~racct IN @s_racct
AND a~racct IN @lr_const_racct_def
AND a~rtcur = 'MNT'
AND a~rldnr EQ '0L'
AND ( ( @ckunnr = 1 AND a~kunnr IN @s_ptr ) )
* AND ( @p_revers = 'X' OR ( a~xreversing <> 'X' AND a~xreversed <> 'X' ) )
AND ( @p_revers = 'X' OR ( ( h~xreversing IS NULL OR h~xreversing <> 'X') AND ( h~xreversed IS NULL OR h~xreversed <> 'X') ) )
"GROUP BY a~racct,l~txt50, a~kunnr,a~lifnr,b~name_org1,k~mitkz, c~blart, b~name_first, b~name_last, a~rtcur
GROUP BY a~racct, l~txt50, a~kunnr, a~lifnr, a~rtcur
INTO CORRESPONDING FIELDS OF TABLE @gt_output_sel.
LOOP AT gt_output_sel.
COLLECT gt_output_sel INTO gt_output_sel_main.
CLEAR gt_output_sel.
ENDLOOP.
DATA: lv_partner_code TYPE but000-partner,
lv_org_name TYPE but000-name_org1,
lv_name_first TYPE but000-name_first,
lv_name_last TYPE but000-name_last.
"LIFNR , KUNNR -iig ALPHA aar hurvuulehgui bol DEFERED VAT deer enhancement hiihdee hurvuulj hadgalaagui bolno.
"For Example: LIFNR,KUNNR ->2000010 gsen utga Acdoca deer hadgalagsan bga. Uul ni 0002000010 gj hadgalah estoi bsan enhancement hiisen tul ingej hadgalah bolomjgui gesen By ETHAN.
LOOP AT gt_output_sel_main INTO DATA(ls_output_sel_main).
CLEAR: lv_partner_code, lv_org_name, lv_name_first, lv_name_last.
lv_partner_code = |{ ls_output_sel_main-bpartner ALPHA = IN }|.
SELECT SINGLE a~name_org1, a~name_first, a~name_last INTO (@lv_org_name, @lv_name_first, @lv_name_last)
FROM but000 AS a
WHERE a~partner = @lv_partner_code.
IF lv_org_name IS INITIAL.
ls_output_sel_main-bpartnername = lv_name_first && ' ' && lv_name_last.
ELSE.
ls_output_sel_main-bpartnername = lv_org_name.
ENDIF.
MODIFY gt_output_sel_main FROM ls_output_sel_main TRANSPORTING bpartnername.
CLEAR: ls_output_sel_main.
ENDLOOP.
SELECT a~racct, l~txt50 AS racctn,
"CASE WHEN a~kunnr IS INITIAL THEN a~lifnr ELSE a~kunnr END AS bpartner,
"CASE WHEN b~name_org1 IS INITIAL THEN b~name_first && ' ' && b~name_last ELSE b~name_org1 END AS bpartnername,
CASE WHEN a~racct = '1202010100' THEN a~lifnr ELSE a~kunnr END AS bpartner,
CASE WHEN a~racct = '1202010100' THEN 'K' ELSE 'D' END AS bpartnertype,
SUM( CASE WHEN ( ( a~budat BETWEEN @beginsdate AND @predate ) OR ( a~bstat = 'C' ) ) THEN a~tsl ELSE 0 END ) AS slb,
SUM( CASE WHEN a~budat BETWEEN @s_bdate-low AND @s_bdate-high AND a~drcrk = 'H' THEN a~tsl ELSE 0 END ) AS slcredit,
SUM( CASE WHEN a~budat BETWEEN @s_bdate-low AND @s_bdate-high AND a~drcrk = 'S' THEN a~tsl ELSE 0 END ) AS sldebit,
SUM( a~tsl ) AS sle,
SUM( CASE WHEN ( ( a~budat BETWEEN @beginsdate AND @predate ) OR ( a~bstat = 'C' ) ) THEN a~hsl ELSE 0 END ) AS hslb,
SUM( CASE WHEN a~budat BETWEEN @s_bdate-low AND @s_bdate-high AND a~drcrk = 'H' THEN a~hsl ELSE 0 END ) AS hslcredit,
SUM( CASE WHEN a~budat BETWEEN @s_bdate-low AND @s_bdate-high AND a~drcrk = 'S' THEN a~hsl ELSE 0 END ) AS hsldebit,
SUM( a~hsl ) AS hsle,
a~rtcur AS rcur
FROM acdoca AS a
LEFT OUTER JOIN skb1 AS k ON a~rbukrs = k~bukrs AND a~racct = k~saknr
LEFT OUTER JOIN bkpf AS h ON a~rbukrs = h~bukrs AND a~belnr = h~belnr AND a~gjahr = h~gjahr
LEFT OUTER JOIN skat AS l ON a~racct = l~saknr AND l~spras = @sy-langu AND l~ktopl = @c_chart_of_account
"LEFT OUTER JOIN but000 AS b ON a~kunnr = b~partner OR a~lifnr = b~partner
WHERE ( ( a~budat BETWEEN @beginsdate AND @s_bdate-high ) OR ( a~gjahr = @beginsdate+0(4) AND a~bstat = 'C' ) )
AND a~prctr = @s_prctr
AND a~racct IN @s_racct
AND a~racct IN @lr_const_racct_def
AND a~rtcur <> 'MNT'
AND a~rldnr EQ '0L'
AND ( ( @ckunnr = 1 AND a~kunnr IN @s_ptr ) )
* AND ( @p_revers = 'X' OR ( a~xreversing <> 'X' AND a~xreversed <> 'X' ) )
AND ( @p_revers = 'X' OR ( ( h~xreversing IS NULL OR h~xreversing <> 'X') AND ( h~xreversed IS NULL OR h~xreversed <> 'X') ) )
"GROUP BY a~racct,l~txt50, a~kunnr,a~lifnr,b~name_org1,k~mitkz, c~blart, b~name_first, b~name_last, a~rtcur
GROUP BY a~racct, l~txt50, a~kunnr ,a~lifnr, a~rtcur
INTO CORRESPONDING FIELDS OF TABLE @gt_output_cur.
LOOP AT gt_output_cur.
COLLECT gt_output_cur INTO gt_output_cur_main.
CLEAR gt_output_cur.
ENDLOOP.
LOOP AT gt_output_cur_main INTO DATA(ls_output_cur_main).
CLEAR: lv_partner_code, lv_org_name, lv_name_first, lv_name_last.
lv_partner_code = |{ ls_output_cur_main-bpartner ALPHA = IN }|.
SELECT SINGLE a~name_org1, a~name_first, a~name_last INTO (@lv_org_name, @lv_name_first, @lv_name_last)
FROM but000 AS a
WHERE a~partner = @lv_partner_code.
IF lv_org_name IS INITIAL.
ls_output_cur_main-bpartnername = lv_name_first && ' ' && lv_name_last.
ELSE.
ls_output_cur_main-bpartnername = lv_org_name.
ENDIF.
MODIFY gt_output_cur_main FROM ls_output_cur_main TRANSPORTING bpartnername.
CLEAR: ls_output_cur_main.
ENDLOOP.
"IF p_glswap EQ 'X' ->Урьдчилж төлсөн тооцоо болон орлогын дансны төрлийг сольж харуулах. AR->AP, AP->AR болгож харуулна гэсэн үг
"ELSE хуучин горимоороо ажиллана гэсэн үг
SELECT a~racct, l~txt50 AS racctn,
CASE WHEN k~mitkz = 'K' THEN a~lifnr WHEN k~mitkz = 'D' THEN a~kunnr ELSE '0' END AS bpartner,
CASE WHEN b~name_org1 IS INITIAL THEN b~name_first && ' ' && b~name_last ELSE b~name_org1 END AS bpartnername,
CASE WHEN @p_glswap EQ 'X' AND w~zaccountnumber IS NOT NULL THEN w~zserialnumber ELSE CASE WHEN a~koart IS INITIAL THEN k~mitkz ELSE a~koart END END AS bpartnertype,
SUM( CASE WHEN ( ( a~budat BETWEEN @beginsdate AND @predate ) OR ( a~bstat = 'C' ) ) THEN a~tsl ELSE 0 END ) AS slb,
SUM( CASE WHEN a~budat BETWEEN @s_bdate-low AND @s_bdate-high AND a~drcrk = 'H' THEN a~tsl ELSE 0 END ) AS slcredit,
SUM( CASE WHEN a~budat BETWEEN @s_bdate-low AND @s_bdate-high AND a~drcrk = 'S' THEN a~tsl ELSE 0 END ) AS sldebit,
SUM( a~tsl ) AS sle,
a~rtcur AS rcur, a~rtcur AS zmaincurr,
0 AS group
FROM acdoca AS a
LEFT OUTER JOIN skb1 AS k ON a~rbukrs = k~bukrs AND a~racct = k~saknr
LEFT OUTER JOIN bkpf AS h ON a~rbukrs = h~bukrs AND a~belnr = h~belnr AND a~gjahr = h~gjahr
LEFT OUTER JOIN skat AS l ON a~racct = l~saknr AND l~spras = @sy-langu AND l~ktopl = @c_chart_of_account
LEFT OUTER JOIN but000 AS b ON a~kunnr = b~partner OR a~lifnr = b~partner
LEFT OUTER JOIN znmficot_vatacc AS w ON w~ztype = 'Z' AND a~racct = w~zaccountnumber
WHERE ( ( a~budat BETWEEN @beginsdate AND @s_bdate-high ) OR ( a~gjahr = @beginsdate+0(4) AND a~bstat = 'C' ) )
AND a~prctr = @s_prctr
AND a~racct IN @s_racct
AND a~rtcur = 'MNT'
AND a~rldnr EQ '0L'
AND ( ( @ckunnr = 1 AND a~kunnr IN @s_ptr ) )
"AND ( a~koart IN @lr_type OR k~mitkz IN @lr_type )
AND ( ( @p_glswap EQ 'X' AND w~zaccountnumber IS NOT NULL AND w~zserialnumber IN @lr_type ) OR ( ( @p_glswap EQ '' OR w~zaccountnumber IS NULL ) AND ( a~koart IN @lr_type OR k~mitkz IN @lr_type ) ) )
* AND ( @p_revers = 'X' OR ( a~xreversing <> 'X' AND a~xreversed <> 'X' ) )
AND ( @p_revers = 'X' OR ( ( h~xreversing IS NULL OR h~xreversing <> 'X') AND ( h~xreversed IS NULL OR h~xreversed <> 'X') ) )
GROUP BY a~racct,l~txt50, a~kunnr,a~lifnr,b~name_org1,k~mitkz, a~koart, b~name_first, b~name_last, a~rtcur, w~zaccountnumber, w~zserialnumber
INTO CORRESPONDING FIELDS OF TABLE @gt_output_sel.
LOOP AT gt_output_sel.
COLLECT gt_output_sel INTO gt_output_sel_main.
CLEAR gt_output_sel.
ENDLOOP.
SELECT a~racct, l~txt50 AS racctn,
CASE WHEN k~mitkz = 'K' THEN a~lifnr WHEN k~mitkz = 'D' THEN a~kunnr ELSE '0' END AS bpartner,
CASE WHEN b~name_org1 IS INITIAL THEN b~name_first && ' ' && b~name_last ELSE b~name_org1 END AS bpartnername,
CASE WHEN @p_glswap EQ 'X' AND w~zaccountnumber IS NOT NULL THEN w~zserialnumber ELSE CASE WHEN a~koart IS INITIAL THEN k~mitkz ELSE a~koart END END AS bpartnertype,
SUM( CASE WHEN ( ( a~budat BETWEEN @beginsdate AND @predate ) OR ( a~bstat = 'C' ) ) THEN a~tsl ELSE 0 END ) AS slb,
SUM( CASE WHEN a~budat BETWEEN @s_bdate-low AND @s_bdate-high AND a~drcrk = 'H' THEN a~tsl ELSE 0 END ) AS slcredit,
SUM( CASE WHEN a~budat BETWEEN @s_bdate-low AND @s_bdate-high AND a~drcrk = 'S' THEN a~tsl ELSE 0 END ) AS sldebit,
SUM( a~tsl ) AS sle,
SUM( CASE WHEN ( ( a~budat BETWEEN @beginsdate AND @predate ) OR ( a~bstat = 'C' ) ) THEN a~hsl ELSE 0 END ) AS hslb,
SUM( CASE WHEN a~budat BETWEEN @s_bdate-low AND @s_bdate-high AND a~drcrk = 'H' THEN a~hsl ELSE 0 END ) AS hslcredit,
SUM( CASE WHEN a~budat BETWEEN @s_bdate-low AND @s_bdate-high AND a~drcrk = 'S' THEN a~hsl ELSE 0 END ) AS hsldebit,
SUM( a~hsl ) AS hsle,
a~rtcur AS rcur
FROM acdoca AS a
LEFT OUTER JOIN skb1 AS k ON a~rbukrs = k~bukrs AND a~racct = k~saknr
LEFT OUTER JOIN bkpf AS h ON a~rbukrs = h~bukrs AND a~belnr = h~belnr AND a~gjahr = h~gjahr
LEFT OUTER JOIN skat AS l ON a~racct = l~saknr AND l~spras = @sy-langu AND l~ktopl = @c_chart_of_account
LEFT OUTER JOIN but000 AS b ON a~kunnr = b~partner OR a~lifnr = b~partner
LEFT OUTER JOIN znmficot_vatacc AS w ON w~ztype = 'Z' AND a~racct = w~zaccountnumber
WHERE ( ( a~budat BETWEEN @beginsdate AND @s_bdate-high ) OR ( a~gjahr = @beginsdate+0(4) AND a~bstat = 'C' ) )
AND a~prctr = @s_prctr
AND a~racct IN @s_racct
AND a~rtcur <> 'MNT'
AND a~rldnr EQ '0L'
AND ( ( @ckunnr = 1 AND a~kunnr IN @s_ptr ) )
"AND ( a~koart IN @lr_type OR k~mitkz IN @lr_type )
AND ( ( @p_glswap EQ 'X' AND w~zaccountnumber IS NOT NULL AND w~zserialnumber IN @lr_type ) OR ( ( @p_glswap EQ '' OR w~zaccountnumber IS NULL ) AND ( a~koart IN @lr_type OR k~mitkz IN @lr_type ) ) )
* AND ( @p_revers = 'X' OR ( a~xreversing <> 'X' AND a~xreversed <> 'X' ) )
AND ( @p_revers = 'X' OR ( ( h~xreversing IS NULL OR h~xreversing <> 'X') AND ( h~xreversed IS NULL OR h~xreversed <> 'X') ) )
GROUP BY a~racct,l~txt50, a~kunnr,a~lifnr,b~name_org1,k~mitkz, a~koart, b~name_first, b~name_last, a~rtcur, w~zaccountnumber, w~zserialnumber
INTO CORRESPONDING FIELDS OF TABLE @gt_output_cur.
LOOP AT gt_output_cur.
COLLECT gt_output_cur INTO gt_output_cur_main.
CLEAR: gt_output_cur.
ENDLOOP.
DATA count TYPE i.
DATA order TYPE i.
LOOP AT gt_output_cur_main.
count = count + 1.
order = order + 1.
CLEAR gt_output_sel_main.
MOVE gt_output_cur_main-racct TO gt_output_sel_main-racct.
MOVE gt_output_cur_main-racctn TO gt_output_sel_main-racctn.
MOVE gt_output_cur_main-bpartner TO gt_output_sel_main-bpartner.
MOVE gt_output_cur_main-bpartnername TO gt_output_sel_main-bpartnername.
MOVE gt_output_cur_main-bpartnertype TO gt_output_sel_main-bpartnertype.
MOVE gt_output_cur_main-slb TO gt_output_sel_main-slb.
MOVE gt_output_cur_main-slcredit TO gt_output_sel_main-slcredit.
MOVE gt_output_cur_main-sldebit TO gt_output_sel_main-sldebit.
MOVE gt_output_cur_main-sle TO gt_output_sel_main-sle.
MOVE gt_output_cur_main-rcur TO gt_output_sel_main-rcur.
MOVE gt_output_cur_main-rcur TO gt_output_sel_main-zmaincurr.
MOVE count TO gt_output_sel_main-group.
MOVE order TO gt_output_sel_main-order.
APPEND gt_output_sel_main.
order = order + 1.
CLEAR gt_output_sel_main.
MOVE gt_output_cur_main-racct TO gt_output_sel_main-racct.
MOVE gt_output_cur_main-racctn TO gt_output_sel_main-racctn.
MOVE gt_output_cur_main-bpartner TO gt_output_sel_main-bpartner.
MOVE gt_output_cur_main-bpartnername TO gt_output_sel_main-bpartnername.
MOVE gt_output_cur_main-bpartnertype TO gt_output_sel_main-bpartnertype.
MOVE gt_output_cur_main-hslb TO gt_output_sel_main-slb.
MOVE gt_output_cur_main-hslcredit TO gt_output_sel_main-slcredit.
MOVE gt_output_cur_main-hsldebit TO gt_output_sel_main-sldebit.
MOVE gt_output_cur_main-hsle TO gt_output_sel_main-sle.
MOVE 'MNT' TO gt_output_sel_main-rcur.
MOVE gt_output_cur_main-rcur TO gt_output_sel_main-zmaincurr.
MOVE count TO gt_output_sel_main-group.
MOVE order TO gt_output_sel_main-order.
APPEND gt_output_sel_main.
CLEAR: gt_output_cur_main, gt_output_sel_main.
ENDLOOP.
DELETE gt_output_sel_main WHERE slb = 0 AND slcredit = 0 AND sldebit = 0 AND sle = 0.
LOOP AT gt_output_sel_main.
MOVE-CORRESPONDING gt_output_sel_main TO gt_output.
APPEND gt_output.
CLEAR: gt_output_sel_main, gt_output.
ENDLOOP.
LOOP AT gt_output.
gt_output-bpartner = |{ gt_output-bpartner ALPHA = OUT }| .
gt_output-zkoart = gt_output-bpartnertype.
IF gt_output-bpartnertype = 'D'.
gt_output-bpartnertype = 'Aвлага'.
ELSEIF gt_output-bpartnertype = 'K'.
gt_output-bpartnertype = 'Өглөг'.
ENDIF.
IF gt_output-rcur = 'MNT' AND gt_output-group = 0.
wa_cellcolor-fname = 'SLB'.
wa_cellcolor-color-col = 1.
wa_cellcolor-color-int = '0'.
wa_cellcolor-color-inv = '0'.
APPEND wa_cellcolor TO gt_output-cellcolor.
CLEAR: wa_cellcolor.
wa_cellcolor-fname = 'SLCREDIT'.
wa_cellcolor-color-col = 1.
wa_cellcolor-color-int = '0'.
wa_cellcolor-color-inv = '0'.
APPEND wa_cellcolor TO gt_output-cellcolor.
CLEAR: wa_cellcolor.
wa_cellcolor-fname = 'SLDEBIT'.
wa_cellcolor-color-col = 1.
wa_cellcolor-color-int = '0'.
wa_cellcolor-color-inv = '0'.
APPEND wa_cellcolor TO gt_output-cellcolor.
CLEAR: wa_cellcolor.
wa_cellcolor-fname = 'SLE'.
wa_cellcolor-color-col = 1.
wa_cellcolor-color-int = '0'.
wa_cellcolor-color-inv = '0'.
APPEND wa_cellcolor TO gt_output-cellcolor.
CLEAR: wa_cellcolor.
ELSEIF gt_output-rcur <> 'MNT'.
wa_cellcolor-fname = 'SLB'.
wa_cellcolor-color-col = 4.
wa_cellcolor-color-int = '0'.
wa_cellcolor-color-inv = '1'.
APPEND wa_cellcolor TO gt_output-cellcolor.
CLEAR: wa_cellcolor.
wa_cellcolor-fname = 'SLCREDIT'.
wa_cellcolor-color-col = 4.
wa_cellcolor-color-int = '0'.
wa_cellcolor-color-inv = '1'.
APPEND wa_cellcolor TO gt_output-cellcolor.
CLEAR: wa_cellcolor.
wa_cellcolor-fname = 'SLDEBIT'.
wa_cellcolor-color-col = 4.
wa_cellcolor-color-int = '0'.
wa_cellcolor-color-inv = '1'.
APPEND wa_cellcolor TO gt_output-cellcolor.
CLEAR: wa_cellcolor.
wa_cellcolor-fname = 'SLE'.
wa_cellcolor-color-col = 4.
wa_cellcolor-color-int = '0'.
wa_cellcolor-color-inv = '1'.
APPEND wa_cellcolor TO gt_output-cellcolor.
CLEAR: wa_cellcolor.
ENDIF.
MODIFY gt_output.
CLEAR: gt_output.
ENDLOOP.
SORT gt_output BY bpartner bpartnertype racct group order.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form frm_result_show
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& --> p1 text
*& <-- p2 text
*&---------------------------------------------------------------------*
FORM frm_result_show .
IF g_has_error EQ abap_true.
EXIT.
ENDIF.
PERFORM frm_build_alv.
PERFORM frm_display_screen.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form frm_build_alv
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& --> p1 text
*& <-- p2 text
*&---------------------------------------------------------------------*
FORM frm_build_alv .
REFRESH gt_fieldcat.
DEFINE set_fieldcat.
gs_fieldcat-fieldname = &1.
gs_fieldcat-scrtext_l = &2.
gs_fieldcat-outputlen = &3.
gs_fieldcat-cfieldname = &4.
gs_fieldcat-do_sum = &5.
gs_fieldcat-lowercase = &6.
APPEND gs_fieldcat TO gt_fieldcat.
CLEAR gs_fieldcat.
END-OF-DEFINITION.
set_fieldcat 'RACCT' 'Данс' '' '' '' ''.
set_fieldcat 'RACCTN' 'Дансны нэр' '50' '' '' 'X'.
set_fieldcat 'BPARTNER' 'Харилцагч' '' '' '' ''.
set_fieldcat 'BPARTNERNAME' 'Харилцагч нэр' '40' '' '' 'X'.
set_fieldcat 'BPARTNERTYPE' 'Харилцагч төрөл' '10' '' '' 'X'.
set_fieldcat 'RCUR' 'Валют' '' '' '' ''.
set_fieldcat 'SLB' 'Эхний үлдэгдэл' '' 'RCUR' 'X' ''.
set_fieldcat 'SLDEBIT' 'Дебит дүн' '' 'RCUR' 'X' ''.
set_fieldcat 'SLCREDIT' 'Кредит дүн' '' 'RCUR' 'X' ''.
set_fieldcat 'SLE' 'Эцсийн үлдэгдэл' '' 'RCUR' 'X' ''.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form frm_display_screen
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& --> p1 text
*& <-- p2 text
*&---------------------------------------------------------------------*
FORM frm_display_screen .
REFRESH it_sort.
gs_layout-sel_mode = ''.
gs_layout-cwidth_opt = 'X'.
gs_layout-detailinit = 'X'.
gs_layout-stylefname = 'CELLSTYLE'.
gs_layout-ctab_fname = 'CELLCOLOR'.
CLEAR wa_sort.
wa_sort-spos = 1.
wa_sort-fieldname = 'RACCT'.
wa_sort-up = 'X'.
wa_sort-subtot = 'X'.
APPEND wa_sort TO it_sort.
CLEAR wa_sort.
wa_sort-spos = 2.
wa_sort-fieldname = 'RACCTN'.
wa_sort-up = 'X'.
wa_sort-subtot = 'X'.
APPEND wa_sort TO it_sort.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'
EXPORTING
i_callback_program = sy-repid
i_grid_settings = g_glay
i_callback_user_command = 'FRM_USER_COMMAND'
i_callback_pf_status_set = 'FRM_SET_STATUS'
i_callback_html_top_of_page = 'FRM_TOP_OF_PAGE'
i_html_height_top = 20
i_html_height_end = 8
is_layout_lvc = gs_layout
it_sort_lvc = it_sort
it_fieldcat_lvc = gt_fieldcat[]
i_save = 'X'
TABLES
t_outtab = gt_output
EXCEPTIONS
program_error = 1
OTHERS = 2.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form FRM_USER_COMMAND
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& --> p1 text
*& <-- p2 text
*&---------------------------------------------------------------------*
FORM frm_user_command USING r_ucomm LIKE sy-ucomm
rs_selfield TYPE slis_selfield.
DATA: lo_grid TYPE REF TO cl_gui_alv_grid.
RANGES:lr_saknr FOR acdoca-racct.
CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
IMPORTING
e_grid = lo_grid.
CALL METHOD lo_grid->check_changed_data.
rs_selfield-refresh = abap_true.
CASE r_ucomm.
WHEN 'ZREF'. " Report data refresh
PERFORM frm_get_data.
WHEN '&IC1'. " Double-click
READ TABLE gt_output INDEX rs_selfield-tabindex.
IF gt_output-racct IS INITIAL OR rs_selfield-tabindex = 0.
EXIT.
ENDIF.
CLEAR: gv_zaccount, gv_zprctr, gv_zbpartner, gv_zkoart, gv_zrcur.
gv_zaccount = |{ gt_output-racct ALPHA = IN }|.
gv_zprctr = |{ s_prctr ALPHA = IN }|.
gv_zbpartner = |{ gt_output-bpartner ALPHA = IN }|.
gv_zkoart = gt_output-zkoart.
gv_zrcur = gt_output-zmaincurr.
WHEN '&XPA'. " Expand-click
PERFORM alv_exp_col_form USING ''.
rs_selfield-refresh = 'X'.
WHEN '&OMP'. " Collapse-click
PERFORM alv_exp_col_form USING 'X'.
rs_selfield-refresh = 'X'.
WHEN '&STO'.
PERFORM alv_subtotal_on_off_form.
WHEN '&ZREPORT'.
PERFORM frm_show_report.
ENDCASE.
rs_selfield-refresh = abap_true.
rs_selfield-col_stable = abap_true.
rs_selfield-row_stable = abap_true.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form FRM_SET_STATUS
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& --> p1 text
*& <-- p2 text
*&---------------------------------------------------------------------*
FORM frm_set_status USING extab TYPE slis_t_extab.
SET PF-STATUS 'STATUS' ."EXCLUDING extab.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form frm_top_of_page
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& --> p1 text
*& <-- p2 text
*&---------------------------------------------------------------------*
FORM frm_top_of_page USING document TYPE REF TO cl_dd_document.
DATA:lv_text TYPE sdydo_text_element,
lv_string TYPE string,
lv_position TYPE i.
IF preport = 'K'.
lv_text = 'Өглөгийн товчоо тайлан'."TEXT-t01.
ELSE.
lv_text = 'Авлагын товчоо тайлан'.
ENDIF.
CLEAR gv_report_group_title.
gv_report_group_title = lv_text.
lv_string = |<div style="text-align:center"><span><font size="5">{ gv_report_group_title }</font></span></div>|.
SEARCH document->html_table FOR document->cursor.
IF sy-subrc EQ 0.
lv_position = sy-tabix.
CALL METHOD document->html_insert
EXPORTING
contents = lv_string
CHANGING
position = lv_position.
ENDIF.
CLEAR lv_text.
CONCATENATE TEXT-t11 ' ' s_bdate-low+6(2) '.' s_bdate-low+4(2) '.' s_bdate-low+0(4) ' - ' ' ' s_bdate-high+6(2) '.' s_bdate-high+4(2) '.' s_bdate-high+0(4) INTO lv_text.
lv_string = |<div style="text-align:right"><span><font size="3">{ lv_text }</font></span></div>|.
SEARCH document->html_table FOR document->cursor.
IF sy-subrc EQ 0.
lv_position = sy-tabix.
CALL METHOD document->html_insert
EXPORTING
contents = lv_string
CHANGING
position = lv_position.
ENDIF.
CALL METHOD document->new_line.
CALL METHOD document->add_gap
EXPORTING
width = 2.
DATA: s_bukrs TYPE acdoca-rbukrs,
s_bukrsname TYPE t001-butxt,
s_prctrname TYPE cepct-ktext.
CLEAR lv_text.
SELECT SINGLE bukrs FROM cepc_bukrs INTO s_bukrs
WHERE prctr = s_prctr.
SELECT SINGLE butxt FROM t001 INTO s_bukrsname WHERE bukrs = s_bukrs.
SELECT SINGLE ltext FROM cepct INTO s_prctrname
WHERE spras = sy-langu AND prctr = s_prctr.
lv_text = TEXT-t09 && `: ` && s_bukrs && ` | ` && TEXT-t12 && `: ` && s_bukrsname.
CALL METHOD document->add_text
EXPORTING
text = lv_text
sap_style = 'Strong'.
CLEAR lv_text.
CALL METHOD document->new_line.
CALL METHOD document->add_gap
EXPORTING
width = 2.
lv_text = TEXT-t10 && `: ` && |{ s_prctr ALPHA = OUT }| && ` | ` && TEXT-t13 && `: ` && s_prctrname.
CALL METHOD document->add_text
EXPORTING
text = lv_text
sap_style = 'Strong'.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form alv_exp_col_form
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& --> p_expand
*&---------------------------------------------------------------------*
FORM alv_exp_col_form USING p_expand TYPE boolean.
DATA: lv_et_sort TYPE slis_t_sortinfo_alv.
CALL FUNCTION 'REUSE_ALV_GRID_LAYOUT_INFO_GET'
IMPORTING
et_sort = lv_et_sort
EXCEPTIONS
no_infos = 1
program_error = 2.
LOOP AT lv_et_sort INTO DATA(ls_alv_sort).
ls_alv_sort-expa = p_expand.
MODIFY lv_et_sort FROM ls_alv_sort.
ENDLOOP.
CALL FUNCTION 'REUSE_ALV_GRID_LAYOUT_INFO_SET'
EXPORTING
it_sort = lv_et_sort.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form alv_subtotal_on_off_form
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
FORM alv_subtotal_on_off_form.
DATA: lv_et_sort TYPE slis_t_sortinfo_alv.
CALL FUNCTION 'REUSE_ALV_GRID_LAYOUT_INFO_GET'
IMPORTING
et_sort = lv_et_sort
EXCEPTIONS
no_infos = 1
program_error = 2.
LOOP AT lv_et_sort INTO DATA(ls_alv_sort).
IF ls_alv_sort-subtot = 'X'.
ls_alv_sort-subtot = ''.
ELSE.
ls_alv_sort-subtot = 'X'.
ENDIF.
MODIFY lv_et_sort FROM ls_alv_sort.
ENDLOOP.
CALL FUNCTION 'REUSE_ALV_GRID_LAYOUT_INFO_SET'
EXPORTING
it_sort = lv_et_sort.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form frm_show_report
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& --> p1 text
*& <-- p2 text
*&---------------------------------------------------------------------*
FORM frm_show_report .
TYPES: BEGIN OF ty_zusr,
name_first TYPE adrp-name_first,
name_last TYPE adrp-name_last,
name_text TYPE adrp-name_text,
END OF ty_zusr.
DATA: f_funcname TYPE funcname,
ls_header TYPE znmficosf068_hdr,
outoptions TYPE ssfcompop,
control_parameters TYPE ssfctrlop,
mesg TYPE string,
w_cx_root TYPE REF TO cx_root.
DATA: lv_total_ar_beginbal TYPE acdoca-wsl,
lv_total_ap_beginbal TYPE acdoca-wsl,
lv_total_income TYPE acdoca-wsl,
lv_total_outcome TYPE acdoca-wsl,
lv_total_ar_endbal TYPE acdoca-wsl,
lv_total_ap_endbal TYPE acdoca-wsl,
lv_text TYPE string,
lv_empty_text TYPE char40,
lv_printed_user TYPE char80,
lt_zusr TYPE ty_zusr,
ls_data TYPE znmficos001,
lt_data_byBPType TYPE TABLE OF znmficos001 WITH HEADER LINE,
lt_data_byCus TYPE TABLE OF znmficos001 WITH HEADER LINE,
lt_report_data TYPE TABLE OF znmficos001 WITH HEADER LINE.
control_parameters-langu = sy-langu.
outoptions-tdnewid = abap_true.
outoptions-tddest = 'LP01'.
outoptions-tdimmed = abap_true.
outoptions-tddelete = abap_true.
CLEAR lv_text.
lv_text = |{ s_bdate-low+0(4) }.{ s_bdate-low+4(2) }.{ s_bdate-low+6(2) } - { s_bdate-high+0(4) }.{ s_bdate-high+4(2) }.{ s_bdate-high+6(2) }|.
ls_header-zdate_text = lv_text.
CLEAR lv_text.
SELECT SINGLE ltext FROM cepct INTO lv_text WHERE spras = sy-langu AND prctr = s_prctr.
ls_header-zprctr_name = |"{ lv_text }" салбар|.
CLEAR: ls_data,lt_data_byBPType,lt_data_byBPType[],lt_data_byCus,lt_data_byCus[].
LOOP AT gt_output WHERE rcur = 'MNT'.
"BPartner, BPartnertType BeginBal && EndBal --------------------------------------
CLEAR ls_data.
ls_data-bpartner = gt_output-bpartner.
ls_data-bpartnertype = gt_output-zkoart.
IF gt_output-zkoart = 'D'. "Receivable
ls_data-zar_begbal = gt_output-slb.
ls_data-zar_endbal = gt_output-sle.
ELSE. "'K'-> Payable.
ls_data-zap_begbal = gt_output-slb.
ls_data-zap_endbal = gt_output-sle.
ENDIF.
COLLECT ls_data INTO lt_data_byBPType.
"BPartner BeginBal && EndBal --------------------------------------
CLEAR ls_data.
ls_data-bpartner = gt_output-bpartner.
ls_data-zcus_begbal = gt_output-slb.
ls_data-zcus_endbal = gt_output-sle.
COLLECT ls_data INTO lt_data_byCus.
CLEAR: lt_report_data, gt_output, ls_data.
ENDLOOP.
LOOP AT gt_output.
MOVE-CORRESPONDING gt_output TO lt_report_data.
lt_report_data-bpartnertype = gt_output-zkoart.
IF gt_output-rcur EQ 'MNT' AND gt_output-group <> 0.
lt_report_data-zisothermnt = 'X'.
ENDIF.
IF gt_output-zkoart = 'D'. "Receivable
lt_report_data-zbpartnertype_sort = '01AR'.
lt_report_data-zarap_begin_group = 'Авлагын эхний үлдэгдэл:'.
lt_report_data-zarap_end_group = 'Авлагын нийт дүн:'.
lt_report_data-slb_ar = lt_report_data-slb.
lt_report_data-sle_ar = lt_report_data-sle.
ELSE. "'K'-> Payable.
lt_report_data-zbpartnertype_sort = '02AP'.
lt_report_data-zarap_begin_group = 'Өглөгийн эхний үлдэгдэл:'.
lt_report_data-zarap_end_group = 'Өглөгийн нийт дүн:'.
lt_report_data-slb_ap = lt_report_data-slb.
lt_report_data-sle_ap = lt_report_data-sle.
ENDIF.
IF gt_output-rcur EQ 'MNT'.
lt_report_data-sldebit_mnt = lt_report_data-sldebit.
lt_report_data-slcredit_mnt = lt_report_data-slcredit.
lt_report_data-slb_ar_mnt = lt_report_data-slb_ar.
lt_report_data-slb_ap_mnt = lt_report_data-slb_ap.
lt_report_data-sle_ar_mnt = lt_report_data-sle_ar.
lt_report_data-sle_ap_mnt = lt_report_data-sle_ap.
IF gt_output-group <> 0.
lt_report_data-zisothermnt = 'X'.
ENDIF.
ENDIF.
"GET BPartner BeginBal && EndBal
READ TABLE lt_data_byCus WITH KEY bpartner = lt_report_data-bpartner.
IF sy-subrc EQ 0.
lt_report_data-zcus_begbal = lt_data_byCus-zcus_begbal.
lt_report_data-zcus_endbal = lt_data_byCus-zcus_endbal.
ENDIF.
"GET BPartner, BPartnertType BeginBal && EndBal
READ TABLE lt_data_byBPType WITH KEY bpartner = lt_report_data-bpartner bpartnertype = lt_report_data-bpartnertype.
IF sy-subrc EQ 0.
lt_report_data-zar_begbal = lt_data_byBPType-zar_begbal.
lt_report_data-zar_endbal = lt_data_byBPType-zar_endbal.
lt_report_data-zap_begbal = lt_data_byBPType-zap_begbal.
lt_report_data-zap_endbal = lt_data_byBPType-zap_endbal.
ENDIF.
APPEND lt_report_data.
CLEAR: lt_data_byCus, lt_data_byBPType, lt_report_data, gt_output.
ENDLOOP.
CLEAR lt_report_data.
lv_total_ar_beginbal = 0.
lv_total_ap_beginbal = 0.
lv_total_income = 0.
lv_total_outcome = 0.
lv_total_ar_endbal = 0.
lv_total_ap_endbal = 0.
LOOP AT lt_report_data WHERE rcur EQ 'MNT'.
lv_total_ar_beginbal += lt_report_data-slb_ar.
lv_total_ap_beginbal += lt_report_data-slb_ap.
lv_total_income += lt_report_data-sldebit.
lv_total_outcome += lt_report_data-slcredit.
lv_total_ar_endbal += lt_report_data-sle_ar.
lv_total_ap_endbal += lt_report_data-sle_ap.
CLEAR lt_report_data.
ENDLOOP.
SELECT SINGLE a~name_first, a~name_last, a~name_text
INTO @lt_zusr
FROM adrp AS a INNER JOIN usr21 AS b ON a~persnumber = b~persnumber
WHERE b~bname = @sy-uname.
IF lt_zusr-name_text IS NOT INITIAL.
lv_printed_user = lt_zusr-name_text.
ELSEIF lt_zusr-name_first IS NOT INITIAL OR lt_zusr-name_last IS NOT INITIAL.
lv_printed_user = |{ lt_zusr-name_last } { lt_zusr-name_first }|.
ENDIF.
CLEAR lt_zusr.
lv_empty_text = |/ /|.
IF lv_printed_user IS NOT INITIAL.
ls_header-zprinted_user = |/ { lv_printed_user } /|.
ELSE.
ls_header-zprinted_user = lv_empty_text.
ENDIF.
ls_header-ztitle = gv_report_group_title.
ls_header-slb_ar = lv_total_ar_beginbal.
ls_header-slb_ap = lv_total_ap_beginbal.
ls_header-sldebit = lv_total_income.
ls_header-slcredit = lv_total_outcome.
ls_header-sle_ar = lv_total_ar_endbal.
ls_header-sle_ap = lv_total_ap_endbal.
CLEAR lv_printed_user.
TRY.
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
formname = 'ZNMFICOF086'
IMPORTING
fm_name = f_funcname
EXCEPTIONS
no_form = 1
no_function_module = 2
OTHERS = 3.
CHECK sy-subrc = 0.
CALL FUNCTION f_funcname
EXPORTING
control_parameters = control_parameters
output_options = outoptions
user_settings = ''
head = ls_header
TABLES
gt_item = lt_report_data[]
EXCEPTIONS
formatting_error = 1
internal_error = 2
send_error = 3
user_canceled = 4
OTHERS = 5.
CHECK sy-subrc EQ 0.
CATCH cx_root INTO w_cx_root.
mesg = w_cx_root->get_text( ).
MESSAGE mesg TYPE 'E'.
CALL FUNCTION 'NAST_PROTOCOL_UPDATE'
EXPORTING
msg_arbgb = 'ME'
msg_nr = syst-msgno
msg_ty = syst-msgty
msg_v1 = syst-msgv1
msg_v2 = syst-msgv2
msg_v3 = syst-msgv3
msg_v4 = syst-msgv4
EXCEPTIONS
OTHERS = 1.
EXIT.
ENDTRY.
ENDFORM.
![]() |
Notes is a web-based application for online taking notes. You can take your notes and share with others people. If you like taking long notes, notes.io is designed for you. To date, over 8,000,000,000+ notes created and continuing...
With notes.io;
- * You can take a note from anywhere and any device with internet connection.
- * You can share the notes in social platforms (YouTube, Facebook, Twitter, instagram etc.).
- * You can quickly share your contents without website, blog and e-mail.
- * You don't need to create any Account to share a note. As you wish you can use quick, easy and best shortened notes with sms, websites, e-mail, or messaging services (WhatsApp, iMessage, Telegram, Signal).
- * Notes.io has fabulous infrastructure design for a short link and allows you to share the note as an easy and understandable link.
Fast: Notes.io is built for speed and performance. You can take a notes quickly and browse your archive.
Easy: Notes.io doesn’t require installation. Just write and share note!
Short: Notes.io’s url just 8 character. You’ll get shorten link of your note when you want to share. (Ex: notes.io/q )
Free: Notes.io works for 14 years and has been free since the day it was started.
You immediately create your first note and start sharing with the ones you wish. If you want to contact us, you can use the following communication channels;
Email: [email protected]
Twitter: http://twitter.com/notesio
Instagram: http://instagram.com/notes.io
Facebook: http://facebook.com/notesio
Regards;
Notes.io Team