FUNCTION isu_zaccbal.
*"----------------------------------------------------------------------
*"*"Local Interface:
*" IMPORTING
*" REFERENCE(X_RED) TYPE ISU2A_REDUCED_BILLING_DATA
*" REFERENCE(X_OP) TYPE ISU2A_VARIANT_PARAMETERS
*" REFERENCE(X_SS) TYPE ISU2A_SS
*" CHANGING
*" REFERENCE(XY_OBJ) TYPE ISU2A_BILLING_DATA
*" REFERENCE(XY_SOBJ) TYPE ISU2A_DATA_COLLECTOR
*" EXCEPTIONS
*" GENERAL_FAULT
*" REGULAR_ERROR
*"----------------------------------------------------------------------
*---------------------------------------------------*
* DATA
*---------------------------------------------------*
INCLUDE ievarbasic.
DATA:
ls_zone TYPE isu2a_zone,
ls_fkkvkp TYPE fkkvkp,
lv_bal TYPE bapicurr_d,
ls_acc_bal TYPE bapiaccbalances,
lt_acc_bal TYPE STANDARD TABLE OF bapiaccbalances.
*---------------------------------------------------*
* LOGIC
*---------------------------------------------------*
*---------------------------------------------------*
* Getting Account Balance
*---------------------------------------------------*
MOVE-CORRESPONDING x_ss TO werchz.
"Initialize Output Operand 1
mac_init_output co_cont2 x_op-o1.
SELECT SINGLE * INTO ls_fkkvkp FROM fkkvkp WHERE vkont EQ xy_sobj-ever-vkonto.
IF sy-subrc IS INITIAL.
CALL FUNCTION 'BAPI_ACCOUNT_GETBALANCES'
EXPORTING
contractaccount = xy_sobj-ever-vkonto
partner = ls_fkkvkp-gpart
TABLES
account_balances = lt_acc_bal.
LOOP AT lt_acc_bal INTO ls_acc_bal.
CASE ls_acc_bal-text.
WHEN 'Open'.
lv_bal = lv_bal + ls_acc_bal-withd_val.
WHEN 'Credit'.
lv_bal = lv_bal - ls_acc_bal-withd_val.
ENDCASE.
ENDLOOP.
ENDIF.
MOVE-CORRESPONDING werchz TO out_oper.
out_oper-qnt_new = lv_bal.
out_oper-qnt_old = lv_bal.
"Updating operands into table IOPER, so that operand value is accessible in other schema steps
mac_output_ioper x_op-o1.
werchz-nettobtr = lv_bal.
ls_zone-operab = werchz-ab.
ls_zone-z = werchz.
APPEND ls_zone TO izone.
"Output results to invoice, prequisites, OUT_OPER and IZONE
mac_invoice_line co_dltyp01.
ENDFUNCTION.
Saturday, March 1, 2025
Billing: Custom Variant: Example 1: Get Account Balance
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment